#![allow(clippy::all, unused_imports, unused_mut, dead_code, non_upper_case_globals)]
pub mod fields;
pub mod messages;
pub use messages::*;
pub const BEGIN_STRING: &str = "FIXT.1.1";
#[derive(Debug, Clone)]
pub enum AnyMessage {
Heartbeat(messages::heartbeat::Heartbeat),
Logon(messages::logon::Logon),
Logout(messages::logout::Logout),
Reject(messages::reject::Reject),
ResendRequest(messages::resend_request::ResendRequest),
SequenceReset(messages::sequence_reset::SequenceReset),
TestRequest(messages::test_request::TestRequest),
Unknown(crate::Message),
}
pub fn classify(msg: crate::Message) -> AnyMessage {
match msg.msg_type().ok().as_deref().unwrap_or("") {
"0" => AnyMessage::Heartbeat(messages::heartbeat::Heartbeat(msg)),
"A" => AnyMessage::Logon(messages::logon::Logon(msg)),
"5" => AnyMessage::Logout(messages::logout::Logout(msg)),
"3" => AnyMessage::Reject(messages::reject::Reject(msg)),
"2" => AnyMessage::ResendRequest(messages::resend_request::ResendRequest(msg)),
"4" => AnyMessage::SequenceReset(messages::sequence_reset::SequenceReset(msg)),
"1" => AnyMessage::TestRequest(messages::test_request::TestRequest(msg)),
_ => AnyMessage::Unknown(msg),
}
}