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, TRACE_FLAGS_DEFAULT, (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, TRACE_FLAGS_DEFAULT, "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); }
bool is_return_type() const { return parameter_index() < 0; }