Exemple #1
0
 /// <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.");
        }
Exemple #3
0
 /// <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);
 }
Exemple #4
0
        /// <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.");
        }
Exemple #5
0
        /// <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.");
        }
Exemple #6
0
        /// <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();
            }
        }
Exemple #8
0
        /// <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.");
        }
Exemple #10
0
        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();
        }
Exemple #11
0
        /// <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.");
        }
Exemple #12
0
 /// <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;
 }
Exemple #13
0
 /// <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();
            }
        }
Exemple #15
0
 /// <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);
 }
Exemple #16
0
 /// <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;
 }
Exemple #17
0
 /// <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);
 }
Exemple #18
0
 /// <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);
 }
Exemple #19
0
 /// <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);
 }
Exemple #20
0
 /// <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);
 }
Exemple #21
0
        /// <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.");
        }
Exemple #22
0
        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();
        }