use std::any::Any;
use dictionary::fields::*;
use field::Field;
use field_tag::{self,FieldTag};
use field_type::FieldType;
use fix_version::FIXVersion;
use fixt;
use fixt::message::FIXTMessage;
use message::{self,REQUIRED,NOT_REQUIRED,Message,Meta,SetValueError};
use message_version::{self,MessageVersion};
pub struct NullMessage {
}
impl Message for NullMessage {
fn conditional_required_fields(&self,_version: MessageVersion) -> Vec<FieldTag> {
unimplemented!();
}
fn meta(&self) -> &Option<Meta> {
unimplemented!();
}
fn set_meta(&mut self,_meta: Meta) {
unimplemented!();
}
fn set_value(&mut self,_key: FieldTag,_value: &[u8]) -> Result<(),SetValueError> {
unimplemented!();
}
fn set_groups(&mut self,_key: FieldTag,_group: &[Box<Message>]) -> bool {
unimplemented!();
}
fn as_any(&self) -> &Any {
unimplemented!();
}
fn as_any_mut(&mut self) -> &mut Any {
unimplemented!();
}
fn new_into_box(&self) -> Box<Message + Send> {
unimplemented!();
}
fn msg_type_header(&self) -> &'static [u8] {
b""
}
fn read_body(&self,_fix_version: FIXVersion,_message_version: MessageVersion,_buf: &mut Vec<u8>) -> usize {
unimplemented!();
}
}
impl FIXTMessage for NullMessage {
fn new_into_box(&self) -> Box<FIXTMessage + Send> {
unimplemented!();
}
fn msg_type(&self) -> &'static [u8] {
unimplemented!();
}
fn msg_seq_num(&self) -> <<MsgSeqNum as Field>::Type as FieldType>::Type {
unimplemented!();
}
fn sender_comp_id(&self) -> &<<SenderCompID as Field>::Type as FieldType>::Type {
unimplemented!();
}
fn target_comp_id(&self) -> &<<TargetCompID as Field>::Type as FieldType>::Type {
unimplemented!();
}
fn set_appl_ver_id(&mut self,_message_version: MessageVersion) {
unimplemented!();
}
fn is_poss_dup(&self) -> bool {
unimplemented!();
}
fn set_is_poss_dup(&mut self,_is_poss_dup: bool) {
unimplemented!();
}
fn sending_time(&self) -> <<SendingTime as Field>::Type as FieldType>::Type {
unimplemented!();
}
fn orig_sending_time(&self) -> <<OrigSendingTime as Field>::Type as FieldType>::Type {
unimplemented!();
}
fn set_orig_sending_time(&mut self,_orig_sending_time: <<OrigSendingTime as Field>::Type as FieldType>::Type) {
unimplemented!();
}
fn setup_fixt_session_header(&mut self,
_msg_seq_num: Option<<<MsgSeqNum as Field>::Type as FieldType>::Type>,
_sender_comp_id: <<SenderCompID as Field>::Type as FieldType>::Type,
_target_comp_id: <<TargetCompID as Field>::Type as FieldType>::Type) {
unimplemented!();
}
}
define_fixt_message!(Heartbeat: b"0" => {
NOT_REQUIRED, test_req_id: TestReqID [FIX40..],
});
define_fixt_message!(Logon: b"A" => {
REQUIRED, encrypt_method: EncryptMethod [FIX40..],
REQUIRED, heart_bt_int: HeartBtInt [FIX40..],
NOT_REQUIRED, raw_data_length: RawDataLength [FIX40..],
NOT_REQUIRED, raw_data: RawData [FIX40..],
NOT_REQUIRED, reset_seq_num_flag: ResetSeqNumFlag [FIX41..],
NOT_REQUIRED, next_expected_msg_seq_num: NextExpectedMsgSeqNum [FIX44..],
NOT_REQUIRED, max_message_size: MaxMessageSize [FIX42..],
NOT_REQUIRED, no_msg_types: NoMsgTypeGrp [FIX42..],
NOT_REQUIRED, test_message_indicator: TestMessageIndicator [FIX43..],
NOT_REQUIRED, username: Username [FIX43..],
NOT_REQUIRED, password: Password [FIX43..],
NOT_REQUIRED, new_password: NewPassword [FIX50SP1..],
NOT_REQUIRED, encrypted_password_method: EncryptedPasswordMethod [FIX50SP1..],
NOT_REQUIRED, encrypted_password_len: EncryptedPasswordLen [FIX50SP1..],
NOT_REQUIRED, encrypted_password: EncryptedPassword [FIX50SP1..],
NOT_REQUIRED, encrypted_new_password_len: EncryptedNewPasswordLen [FIX50SP1..],
NOT_REQUIRED, encrypted_new_password: EncryptedNewPassword [FIX50SP1..],
NOT_REQUIRED, session_status: SessionStatus [FIX50SP1..],
REQUIRED, default_appl_ver_id: DefaultApplVerID [FIX50..],
NOT_REQUIRED, default_appl_ext_id: DefaultApplExtID [FIX50SP1..],
NOT_REQUIRED, default_cstm_appl_ver_id: DefaultCstmApplVerID [FIX50SP1..],
NOT_REQUIRED, text: Text [FIX50SP1..],
NOT_REQUIRED, encoded_text_len: EncodedTextLen [FIX50SP1..],
NOT_REQUIRED, encoded_text: EncodedText [FIX50SP1..],
});
define_fixt_message!(TestRequest: b"1" => {
REQUIRED, test_req_id: TestReqID [FIX40..],
});
define_fixt_message!(ResendRequest: b"2" => {
REQUIRED, begin_seq_no: BeginSeqNo [FIX40..],
REQUIRED, end_seq_no: EndSeqNo [FIX40..],
});
define_fixt_message!(Reject: b"3" => {
REQUIRED, ref_seq_num: RefSeqNum [FIX40..],
NOT_REQUIRED, ref_tag_id: RefTagID [FIX42..],
NOT_REQUIRED, ref_msg_type: RefMsgType [FIX42..],
NOT_REQUIRED, ref_appl_ver_id: RefApplVerID [FIX50SP1..],
NOT_REQUIRED, ref_appl_ext_id: RefApplExtID [FIX50SP1..],
NOT_REQUIRED, ref_cstm_appl_ver_id: RefCstmApplVerID [FIX50SP1..],
NOT_REQUIRED, session_reject_reason: SessionRejectReason [FIX42..],
NOT_REQUIRED, text: Text [FIX40..],
NOT_REQUIRED, encoded_text_len: EncodedTextLen [FIX42..],
NOT_REQUIRED, encoded_text: EncodedText [FIX42..],
});
define_fixt_message!(SequenceReset: b"4" => {
NOT_REQUIRED, gap_fill_flag: GapFillFlag [FIX40..],
REQUIRED, new_seq_no: NewSeqNo [FIX40..],
});
define_fixt_message!(Logout: b"5" => {
NOT_REQUIRED, session_status: SessionStatus [FIX50SP1..],
NOT_REQUIRED, text: Text [FIX40..],
NOT_REQUIRED, encoded_text_len: EncodedTextLen [FIX42..],
NOT_REQUIRED, encoded_text: EncodedText [FIX42..],
});
define_fixt_message!(Email: b"C" => {
REQUIRED, email_thread_id: EmailThreadID [FIX41..],
REQUIRED, email_type: EmailType [FIX40..],
NOT_REQUIRED, orig_time: OrigTime [FIX40..],
NOT_REQUIRED, related_sym: RelatedSym [FIX40..FIX41],
REQUIRED, subject: Subject [FIX41..],
NOT_REQUIRED, encoded_subject_len: EncodedSubjectLen [FIX42..],
NOT_REQUIRED, encoded_subject: EncodedSubject [FIX42..],
NOT_REQUIRED, no_routing_ids: NoRoutingIDs [FIX42..],
NOT_REQUIRED, no_related_sym: NoRelatedSym [FIX41..],
NOT_REQUIRED, no_underlyings: NoUnderlyings [FIX44..],
NOT_REQUIRED, no_legs: NoLegs [FIX44..],
NOT_REQUIRED, order_id: OrderID [FIX40..],
NOT_REQUIRED, cl_ord_id: ClOrdID [FIX40..],
REQUIRED, no_lines_of_text: NoLinesOfText [FIX40..],
NOT_REQUIRED, raw_data_length: RawDataLength [FIX40..],
NOT_REQUIRED, raw_data: RawData [FIX40..],
});
define_fixt_message!(BusinessMessageReject: b"j" => {
NOT_REQUIRED, ref_seq_num: RefSeqNum [FIX42..],
REQUIRED, ref_msg_type: RefMsgType [FIX42..],
NOT_REQUIRED, ref_appl_ver_id: RefApplVerID [FIX50SP1..],
NOT_REQUIRED, ref_appl_ext_id: RefApplExtID [FIX50SP1..],
NOT_REQUIRED, ref_cstm_appl_ver_id: RefCstmApplVerID [FIX50SP1..],
NOT_REQUIRED, business_reject_ref_id: BusinessRejectRefID [FIX42..],
REQUIRED, business_reject_reason: BusinessRejectReason [FIX42..],
NOT_REQUIRED, text: Text [FIX42..],
NOT_REQUIRED, encoded_text_len: EncodedTextLen [FIX42..],
NOT_REQUIRED, encoded_text: EncodedText [FIX42..],
});
define_fixt_message!(NewOrderSingle: b"D" => { REQUIRED, cl_ord_id: ClOrdID [FIX40..],
NOT_REQUIRED, account: Account [FIX40..],
NOT_REQUIRED, settl_type: SettlType [FIX40..],
NOT_REQUIRED, settl_date: SettlDate [FIX40..],
NOT_REQUIRED, handl_inst: HandlInst [FIX40..],
NOT_REQUIRED, min_qty: MinQty [FIX40..],
NOT_REQUIRED, max_floor: MaxFloor [FIX40..],
REQUIRED, symbol: Symbol [FIX40..], REQUIRED, security_id: SecurityID [FIX40..], REQUIRED, security_id_source: SecurityIDSource [FIX40..],
REQUIRED, side: SideField [FIX40..],
REQUIRED, transact_time: TransactTime [FIX40..],
REQUIRED, order_qty: OrderQty [FIX40..],
REQUIRED, ord_type: OrdType [FIX40..],
NOT_REQUIRED, price: Price [FIX40..],
NOT_REQUIRED, currency: Currency [FIX40..],
NOT_REQUIRED, time_in_force: TimeInForce [FIX40..],
});