OnixS C++ Eurex T7 Market and Reference Data Interface (EMDI, RDI, EOBI) Handlers  11.0.0
API documentation
MassInstrumentStateChange.h
Go to the documentation of this file.
1 /*
2 * Copyright Onix Solutions Limited [OnixS]. All rights reserved.
3 *
4 * This software owned by Onix Solutions Limited [OnixS] and is protected by copyright law
5 * and international copyright treaties.
6 *
7 * Access to and use of the software is governed by the terms of the applicable OnixS Software
8 * Services Agreement (the Agreement) and Customer end user license agreements granting
9 * a non-assignable, non-transferable and non-exclusive license to use the software
10 * for it's own data processing purposes under the terms defined in the Agreement.
11 *
12 * Except as otherwise granted within the terms of the Agreement, copying or reproduction of any part
13 * of this source code or associated reference material to any other location for further reproduction
14 * or redistribution, and any amendments to this copyright notice, are expressly prohibited.
15 *
16 * Any reproduction or redistribution for sale or hiring of the Software not in accordance with
17 * the terms of the Agreement is a violation of copyright law.
18 */
19 
20 #pragma once
21 
25 
26 namespace OnixS
27 {
28  namespace Eurex
29  {
30  namespace MarketData
31  {
32  namespace EOBI
33  {
34  ///
35  class ONIXS_EUREX_EMDI_API MassInstrumentStateChangeEntry : public DataContainer
36  {
37  public:
38 
39  /// Security ID
40  UInt64 securityID() const ONIXS_EUREX_EMDI_NOEXCEPT;
41 
42  /// Upper boundary price.
43  bool highPx(Decimal& price) const;
44 
45  /// Lower boundary price.
46  bool lowPx(Decimal& price) const;
47 
48  /// SecurityStatus
49  EOBI::SecurityStatus::Enum securityStatus() const ONIXS_EUREX_EMDI_NOEXCEPT;
50 
51  /// SecurityTradingStatus
52  EOBI::SecurityTradingStatus::Enum securityTradingStatus() const ONIXS_EUREX_EMDI_NOEXCEPT;
53 
54  /// MarketCondition
55  EOBI::MarketCondition::Enum marketCondition() const ONIXS_EUREX_EMDI_NOEXCEPT;
56 
57  /// SecurityTradingEvent
58  EOBI::SecurityTradingEvent::Enum securityTradingEvent() const ONIXS_EUREX_EMDI_NOEXCEPT;
59 
60  /// SoldOutIndicator
61  EOBI::SoldOutIndicator::Enum soldOutIndicator() const ONIXS_EUREX_EMDI_NOEXCEPT;
62 
63  /// Appends text presentation.
64  void toString (std::string&) const;
65 
66  private:
68 
69  explicit
70  MassInstrumentStateChangeEntry (const void* data) ONIXS_EUREX_EMDI_NOEXCEPT;
71  };
72 
73  ///
74  class ONIXS_EUREX_EMDI_API MassInstrumentStateChangeEntries : public DataContainer
75  {
76  public:
77  /// Number of entries
78  size_t size() const ONIXS_EUREX_EMDI_NOEXCEPT;
79 
80  /// Entry accessor
81  MassInstrumentStateChangeEntry operator[] (size_t idx) const;
82 
83  /// Appends text presentation.
84  void toString (std::string&) const;
85 
86  private:
88 
89  explicit
90  MassInstrumentStateChangeEntries (const void* data) ONIXS_EUREX_EMDI_NOEXCEPT;
91  };
92 
93  ///
94  class ONIXS_EUREX_EMDI_API MassInstrumentStateChange : public MessageBase
95  {
96  public:
97  /// Message type
98  std::string msgType() const;
99 
100  /// Marketplace assigned identifier.
101  SecurityIDSource::Enum securityIDSource() const ONIXS_EUREX_EMDI_NOEXCEPT;
102 
103  /// InstrumentScopeProductComplex
104  InstrumentScopeProductComplex::Enum instrumentScopeProductComplex() const ONIXS_EUREX_EMDI_NOEXCEPT;
105 
106  /// SecurityMassStatus
107  SecurityMassStatus::Enum securityMassStatus() const ONIXS_EUREX_EMDI_NOEXCEPT;
108 
109  /// SecurityMassTradingStatus
110  SecurityMassTradingStatus::Enum securityMassTradingStatus() const ONIXS_EUREX_EMDI_NOEXCEPT;
111 
112  /// MassMarketCondition
113  MassMarketCondition::Enum massMarketCondition() const ONIXS_EUREX_EMDI_NOEXCEPT;
114 
115  /// FastMarketIndicator
116  FastMarketIndicator::Enum fastMarketIndicator() const ONIXS_EUREX_EMDI_NOEXCEPT;
117 
118  /// SecurityMassTradingEvent
119  SecurityMassTradingEvent::Enum securityMassTradingEvent() const ONIXS_EUREX_EMDI_NOEXCEPT;
120 
121  /// MassSoldOutIndicator
122  MassSoldOutIndicator::Enum massSoldOutIndicator() const ONIXS_EUREX_EMDI_NOEXCEPT;
123 
124  /// Transaction timestamp.
125  UInt64 transactTime() const ONIXS_EUREX_EMDI_NOEXCEPT;
126 
127  /// LastFragment
128  LastFragment::Enum lastFragment() const ONIXS_EUREX_EMDI_NOEXCEPT;
129 
130  /// Variable size array, record counter: NoRelatedSym
132  mdMassInstrumentStateChangeEntryGrp() const ONIXS_EUREX_EMDI_NOEXCEPT;
133 
134  /// Appends text presentation.
135  void toString (std::string&) const ONIXS_EUREX_EMDI_OVERRIDE;
136 
137  private:
138  friend class Implementation::MessageFactory;
139 
140  MassInstrumentStateChange (const void* data, const DataSource& dataSource)
141  : MessageBase (data, dataSource) {}
142  };
143  }
144  }
145  }
146 }
Definition: Defines.h:30
Decimal type for better precision.
Definition: Numeric.h:63