/// <summary> /// Provides properties for storing and retrieving CME FIX logon fields. /// </summary> public Logon(FieldInfo <byte> tagInfo, FieldInfo <byte> valueInfo, Trailer trailer) : base(tagInfo, valueInfo, trailer) { Username = new FieldInfo <char>(USERNAME_FIELD_LENGTH); Password = new FieldInfo <char>(PASSWORD_FIELD_LENGTH); ApplID = new FieldInfo <char>(APPL_ID_FIELD_LENGTH); }
/// <summary> /// Provides properties for storing and retrieving CME FIX security definition fields. /// </summary> public SecurityDefinition(FieldInfo<byte> tagInfo, FieldInfo<byte> valueInfo, Trailer trailer) : base(tagInfo, valueInfo, trailer) { SecurityGroup = new FieldInfo<char>(SECURITY_GROUP_FIELD_LENGTH); Symbol = new FieldInfo<char>(SYMBOL_FIELD_LENGTH); SecurityDesc = new FieldInfo<char>(SECURITY_DESC_FIELD_LENGTH); SecurityID = new FieldInfo<char>(SECURITY_ID_FIELD_LENGTH); CFICode = new FieldInfo<char>(CFI_CODE_FIELD_LENGTH); SecurityExchange = new FieldInfo<char>(SECURITY_EXCHANGE_FIELD_LENGTH); StrikeCurrency = new FieldInfo<char>(STRIKE_CURRENCY_FIELD_LENGTH); Currency = new FieldInfo<char>(CURRENCY_FIELD_LENGTH); SettlCurrency = new FieldInfo<char>(SETTL_CURRENCY_FIELD_LENGTH); DataBlockEvent = new RepeatingGroupEvent[REPEATING_GROUP_ARRAY_LENGTH]; for (int i = 0; i < REPEATING_GROUP_ARRAY_LENGTH; i++) { DataBlockEvent[i] = new RepeatingGroupEvent(); } DataBlockMDFeedType = new RepeatingGroupMDFeedType[REPEATING_GROUP_ARRAY_LENGTH]; for (int i = 0; i < REPEATING_GROUP_ARRAY_LENGTH; i++) { DataBlockMDFeedType[i] = new RepeatingGroupMDFeedType(); } //throw new NotImplementedException("SecurityDefinition class not yet implemented."); }
/// <summary> /// Provides properties for storing and retrieving CME FIX logon fields. /// </summary> public Logon(FieldInfo<byte> tagInfo, FieldInfo<byte> valueInfo, Trailer trailer) : base(tagInfo, valueInfo, trailer) { Username = new FieldInfo<char>(USERNAME_FIELD_LENGTH); Password = new FieldInfo<char>(PASSWORD_FIELD_LENGTH); ApplID = new FieldInfo<char>(APPL_ID_FIELD_LENGTH); }
/// <summary> /// Provides properties for storing and retrieving CME FIX quote request fields. /// </summary> public QuoteRequest(FieldInfo<byte> tagInfo, FieldInfo<byte> valueInfo, Trailer trailer) : base(tagInfo, valueInfo, trailer) { QuoteReqID = new FieldInfo<char>(QUOTE_REQ_ID_FIELD_LENGTH); Symbol = new FieldInfo<char>(SYMBOL_FIELD_LENGTH); SecurityID = new FieldInfo<char>(SECURITY_ID_FIELD_LENGTH); //throw new NotImplementedException("QuoteRequest class not yet implemented."); }
/// <summary> /// Provides properties for storing and retrieving CME FIX quote request fields. /// </summary> public QuoteRequest(FieldInfo <byte> tagInfo, FieldInfo <byte> valueInfo, Trailer trailer) : base(tagInfo, valueInfo, trailer) { QuoteReqID = new FieldInfo <char>(QUOTE_REQ_ID_FIELD_LENGTH); Symbol = new FieldInfo <char>(SYMBOL_FIELD_LENGTH); SecurityID = new FieldInfo <char>(SECURITY_ID_FIELD_LENGTH); //throw new NotImplementedException("QuoteRequest class not yet implemented."); }
/// <summary> /// Base class from which all market data update types (MarketDataIncrementalRefresh, SecurityStatus, etc.) are derived. /// </summary> public Update(FieldInfo<byte> tagInfo, FieldInfo<byte> valueInfo, Trailer trailer) { tag = tagInfo; value = valueInfo; this.trailer = trailer; // The lambda function in index zero is just a dummy function that's there to align the TagContainer functions with their correct index positions. // This allows 'tag.Length' to be used as the indexer, rather than 'tag.Length - 1'. IsTag = new Func<byte[], bool>[5] { (a => a.IsDummy()), TagContainer1Is, TagContainer2Is, TagContainer3Is, TagContainer4Is }; }
/// <summary> /// Provides properties for storing and retrieving CME FIX market data incremental refresh fields. /// </summary> public MarketDataIncrementalRefresh(FieldInfo<byte> tagInfo, FieldInfo<byte> valueInfo, Trailer trailer, Decoder decoder) : base(tagInfo, valueInfo, trailer) { this.decoder = decoder; DataBlock = new RepeatingGroup[REPEATING_GROUP_ARRAY_LENGTH]; for (int i = 0; i < REPEATING_GROUP_ARRAY_LENGTH; i++) { DataBlock[i] = new RepeatingGroup(); } }
/// <summary> /// Base class from which all market data update types (MarketDataIncrementalRefresh, SecurityStatus, etc.) are derived. /// </summary> public Update(FieldInfo <byte> tagInfo, FieldInfo <byte> valueInfo, Trailer trailer) { tag = tagInfo; value = valueInfo; this.trailer = trailer; // The lambda function in index zero is just a dummy function that's there to align the TagContainer functions with their correct index positions. // This allows 'tag.Length' to be used as the indexer, rather than 'tag.Length - 1'. IsTag = new Func <byte[], bool>[5] { (a => a.IsDummy()), TagContainer1Is, TagContainer2Is, TagContainer3Is, TagContainer4Is }; }
/// <summary> /// Provides properties for storing and retrieving CME FIX market data snapshot full refresh fields. /// </summary> public MarketDataSnapshotFullRefresh(FieldInfo<byte> tagInfo, FieldInfo<byte> valueInfo, Trailer trailer) : base(tagInfo, valueInfo, trailer) { SecurityID = new FieldInfo<char>(SECURITY_ID_FIELD_LENGTH); DataBlock = new RepeatingGroup[REPEATING_GROUP_ARRAY_LENGTH]; for (int i = 0; i < REPEATING_GROUP_ARRAY_LENGTH; i++) { DataBlock[i] = new RepeatingGroup(); } //throw new NotImplementedException("MarketDataSnapshotFullRefresh class not yet implemented."); }
public event DecodeStatusEventHandler DecodeStarted = delegate { }; // Initializing to the empty anonymous method will ensure that the event is never null, even if no methods are subscribed to it. /// <summary> /// Provides methods and properties for decoding FIX messages. /// </summary> public Decoder() { trailer = new Trailer(); header = new Header(tag, value, trailer, this); xupdate = new MarketDataIncrementalRefresh(tag, value, trailer, this); logout = new Logout(tag, value, trailer); logon = new Logon(tag, value, trailer); vupdate = new MarketDataRequest(tag, value, trailer); fupdate = new SecurityStatus(tag, value, trailer); dupdate = new SecurityDefinition(tag, value, trailer); rupdate = new QuoteRequest(tag, value, trailer); wupdate = new MarketDataSnapshotFullRefresh(tag, value, trailer); message = new Message(); }
/// <summary> /// Provides properties for storing and retrieving CME FIX security definition fields. /// </summary> public SecurityDefinition(FieldInfo <byte> tagInfo, FieldInfo <byte> valueInfo, Trailer trailer) : base(tagInfo, valueInfo, trailer) { SecurityGroup = new FieldInfo <char>(SECURITY_GROUP_FIELD_LENGTH); Symbol = new FieldInfo <char>(SYMBOL_FIELD_LENGTH); SecurityDesc = new FieldInfo <char>(SECURITY_DESC_FIELD_LENGTH); SecurityID = new FieldInfo <char>(SECURITY_ID_FIELD_LENGTH); CFICode = new FieldInfo <char>(CFI_CODE_FIELD_LENGTH); SecurityExchange = new FieldInfo <char>(SECURITY_EXCHANGE_FIELD_LENGTH); StrikeCurrency = new FieldInfo <char>(STRIKE_CURRENCY_FIELD_LENGTH); Currency = new FieldInfo <char>(CURRENCY_FIELD_LENGTH); SettlCurrency = new FieldInfo <char>(SETTL_CURRENCY_FIELD_LENGTH); DataBlockEvent = new RepeatingGroupEvent[REPEATING_GROUP_ARRAY_LENGTH]; for (int i = 0; i < REPEATING_GROUP_ARRAY_LENGTH; i++) { DataBlockEvent[i] = new RepeatingGroupEvent(); } DataBlockMDFeedType = new RepeatingGroupMDFeedType[REPEATING_GROUP_ARRAY_LENGTH]; for (int i = 0; i < REPEATING_GROUP_ARRAY_LENGTH; i++) { DataBlockMDFeedType[i] = new RepeatingGroupMDFeedType(); } //throw new NotImplementedException("SecurityDefinition class not yet implemented."); }
/// <summary> /// Provides properties for storing and retrieving CME FIX header fields. /// </summary> public Header(FieldInfo<byte> tagInfo, FieldInfo<byte> valueInfo, Trailer trailer, Decoder decoder) : base(tagInfo, valueInfo, trailer) { SenderCompID = new FieldInfo<char>(SENDER_COMP_ID_FIELD_LENGTH); this.decoder = decoder; }
/// <summary> /// Provides properties for storing and retrieving CME FIX security status fields. /// </summary> public SecurityStatus(FieldInfo <byte> tagInfo, FieldInfo <byte> valueInfo, Trailer trailer) : base(tagInfo, valueInfo, trailer) { SecurityID = new FieldInfo <char>(SECURITY_ID_FIELD_LENGTH); Symbol = new FieldInfo <char>(SYMBOL_FIELD_LENGTH); }
/// <summary> /// Provides properties for storing and retrieving CME FIX market data incremental refresh fields. /// </summary> public MarketDataIncrementalRefresh(FieldInfo <byte> tagInfo, FieldInfo <byte> valueInfo, Trailer trailer, Decoder decoder) : base(tagInfo, valueInfo, trailer) { this.decoder = decoder; DataBlock = new RepeatingGroup[REPEATING_GROUP_ARRAY_LENGTH]; for (int i = 0; i < REPEATING_GROUP_ARRAY_LENGTH; i++) { DataBlock[i] = new RepeatingGroup(); } }
/// <summary> /// Provides properties for storing and retrieving CME FIX market data request fields. /// </summary> public MarketDataRequest(FieldInfo <byte> tagInfo, FieldInfo <byte> valueInfo, Trailer trailer) : base(tagInfo, valueInfo, trailer) { ApplID = new FieldInfo <char>(APPL_ID_FIELD_LENGTH); MDReqID = new FieldInfo <char>(MD_REQ_ID_FIELD_LENGTH); }
/// <summary> /// Provides properties for storing and retrieving CME FIX header fields. /// </summary> public Header(FieldInfo <byte> tagInfo, FieldInfo <byte> valueInfo, Trailer trailer, Decoder decoder) : base(tagInfo, valueInfo, trailer) { SenderCompID = new FieldInfo <char>(SENDER_COMP_ID_FIELD_LENGTH); this.decoder = decoder; }
/// <summary> /// Provides properties for storing and retrieving CME FIX logout fields. /// </summary> public Logout(FieldInfo <byte> tagInfo, FieldInfo <byte> valueInfo, Trailer trailer) : base(tagInfo, valueInfo, trailer) { ApplID = new FieldInfo <char>(APPL_ID_FIELD_LENGTH); Text = new FieldInfo <char>(TEXT_FIELD_LENGTH); }
/// <summary> /// Provides properties for storing and retrieving CME FIX market data request fields. /// </summary> public MarketDataRequest(FieldInfo<byte> tagInfo, FieldInfo<byte> valueInfo, Trailer trailer) : base(tagInfo, valueInfo, trailer) { ApplID = new FieldInfo<char>(APPL_ID_FIELD_LENGTH); MDReqID = new FieldInfo<char>(MD_REQ_ID_FIELD_LENGTH); }
/// <summary> /// Provides properties for storing and retrieving CME FIX logout fields. /// </summary> public Logout(FieldInfo<byte> tagInfo, FieldInfo<byte> valueInfo, Trailer trailer) : base(tagInfo, valueInfo, trailer) { ApplID = new FieldInfo<char>(APPL_ID_FIELD_LENGTH); Text = new FieldInfo<char>(TEXT_FIELD_LENGTH); }
/// <summary> /// Provides properties for storing and retrieving CME FIX security status fields. /// </summary> public SecurityStatus(FieldInfo<byte> tagInfo, FieldInfo<byte> valueInfo, Trailer trailer) : base(tagInfo, valueInfo, trailer) { SecurityID = new FieldInfo<char>(SECURITY_ID_FIELD_LENGTH); Symbol = new FieldInfo<char>(SYMBOL_FIELD_LENGTH); }
/// <summary> /// Provides properties for storing and retrieving CME FIX market data snapshot full refresh fields. /// </summary> public MarketDataSnapshotFullRefresh(FieldInfo <byte> tagInfo, FieldInfo <byte> valueInfo, Trailer trailer) : base(tagInfo, valueInfo, trailer) { SecurityID = new FieldInfo <char>(SECURITY_ID_FIELD_LENGTH); DataBlock = new RepeatingGroup[REPEATING_GROUP_ARRAY_LENGTH]; for (int i = 0; i < REPEATING_GROUP_ARRAY_LENGTH; i++) { DataBlock[i] = new RepeatingGroup(); } //throw new NotImplementedException("MarketDataSnapshotFullRefresh class not yet implemented."); }