bool AudacityCommand::SetAutomationParameters(const wxString & parms) { wxString preset = parms; CommandParameters eap(parms); ShuttleSetAutomation S; S.SetForWriting( &eap ); bool bResult = DefineParams( S ); wxASSERT_MSG( bResult, "You did not define DefineParameters() for this command" ); static_cast<void>(bResult); // fix unused variable warning in release mode if (!S.bOK) { AudacityCommand::MessageBox( wxString::Format( _("%s: Could not load settings below. Default settings will be used.\n\n%s"), GetTranslatedName(), preset ) ); // fror now always succeed, so that we can prompt the user. return true; } return TransferDataToWindow(); }
wxString EffectManager::GetPreset(const PluginID & ID, const wxString & params, wxWindow * parent) { Effect *effect = GetEffect(ID); if (!effect) { return wxEmptyString; } EffectAutomationParameters eap(params); wxString preset; if (eap.HasEntry(wxT("Use Preset"))) { preset = eap.Read(wxT("Use Preset")); } preset = effect->GetPreset(parent, preset); if (preset.IsEmpty()) { return preset; } eap.DeleteAll(); eap.Write(wxT("Use Preset"), preset); eap.GetParameters(preset); return preset; }
EAP_FUNC_EXPORT eap_status_e eap_session_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_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true); eap_header_wr_c eap( m_am_tools, sent_packet->get_data_offset(header_offset, data_length), data_length); if (eap.get_is_valid() == false) { 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_RETURN(m_am_tools, eap_status_header_corrupted); } 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_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("<- EAP_session: %s, code=0x%02x=%s, identifier=0x%02x, ") EAPL("length=0x%04x, type=0x%08x=%s, packet length 0x%04x\n"), (m_is_client == true) ? "client": "server", eap.get_code(), eap.get_code_string(), eap.get_identifier(), eap.get_length(), convert_eap_type_to_u32_t(eap.get_type()), eap.get_type_string(), data_length)); 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); }
bool EffectManager::SetEffectParameters(const PluginID & ID, const wxString & params) { Effect *effect = GetEffect(ID); if (!effect) { return false; } EffectAutomationParameters eap(params); if (eap.HasEntry(wxT("Use Preset"))) { return effect->SetAutomationParameters(eap.Read(wxT("Use Preset"))); } return effect->SetAutomationParameters(params); }
EAP_FUNC_EXPORT eap_status_e eap_wimax_authentication_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("partner calls: eap_wimax_authentication_c::packet_process(): %s\n"), (m_is_client == true) ? "client": "server")); if (packet_data == 0 || packet_length < eap_header_base_c::get_header_length()) { EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, eap_status_process_illegal_packet_error); } if (receive_network_id == 0 || receive_network_id->get_is_valid_data() == false) { EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); } eap_header_wr_c eap( m_am_tools, packet_data->get_header_buffer(packet_data->get_header_buffer_length()), packet_data->get_header_buffer_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_process_illegal_packet_error); } if (packet_length < eap.get_data_length()) { EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, eap_status_process_illegal_packet_error); } if (m_eap_core == 0) { return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); } // Forward the packet to the EAP layer of the EAP stack. // Ignore return value. Failure is signalled using state_notification. WAUTH_ENTER_MUTEX(m_am_tools); EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, (EAPL("calls eapol: eap_wimax_authentication_c::packet_process(): m_eap_core->packet_process(): %s. %d %d\n"), (m_is_client == true) ? "client": "server", eap.get_data_length(), packet_length)); eap_status_e status = m_eap_core->packet_process( receive_network_id, &eap, packet_length); EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, (EAPL("returns from eapol: eap_wimax_authentication_c::packet_process(): m_eap_core->packet_process(): %s, status = %s.\n"), (m_is_client == true) ? "client": "server", eap_status_string_c::get_status_string(status))); EAP_UNREFERENCED_PARAMETER(status); // in release WAUTH_LEAVE_MUTEX(m_am_tools); EAP_GENERAL_HEADER_COPY_ERROR_PARAMETERS(packet_data, &eap); 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::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_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true); eap_status_e status = eap_status_process_general_error; // Each EAP authentication session includes own eap_core_c object. // EAP authentication sessions are separated by eap_am_network_id_c object. if (packet_data == 0 || packet_length < eap_header_base_c::get_header_length()) { EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, eap_status_process_illegal_packet_error); } if (receive_network_id == 0 || receive_network_id->get_is_valid_data() == false) { EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); } eap_header_wr_c eap( m_am_tools, packet_data->get_header_buffer(packet_data->get_header_buffer_length()), packet_data->get_header_buffer_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_process_illegal_packet_error); } if (packet_length < eap.get_length()) { EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, eap_status_process_illegal_packet_error); } if (eap.get_code() == eap_code_none) { EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, eap_status_process_illegal_packet_error); } EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("-> EAP_session: %s, code=0x%02x=%s, identifier=0x%02x, ") EAPL("length=0x%04x, type=0x%08x=%s, packet length 0x%04x\n"), (m_is_client == true) ? "client": "server", eap.get_code(), eap.get_code_string(), eap.get_identifier(), eap.get_length(), convert_eap_type_to_u32_t(eap.get_type()), eap.get_type_string(), packet_length)); status = eap.check_header(); if (status != eap_status_ok) { EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, status); } // 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) { EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); } eap_network_id_selector_c selector( m_am_tools, &send_network_id); if (selector.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_TRACE_DATA_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("eap_session_core_c::packet_process() EAP-session"), selector.get_data(selector.get_data_length()), selector.get_data_length())); eap_core_c *session = m_session_map.get_handler(&selector); if (session == 0) { // Create a new session. session = create_new_session(receive_network_id); } if (session != 0) { status = session->packet_process( receive_network_id, &eap, packet_length); EAP_GENERAL_HEADER_COPY_ERROR_PARAMETERS(packet_data, &eap); } else { status = eap_status_illegal_eap_type; } EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, status); }