OnixS C++ Eurex T7 Market and Reference Data (EMDI, MDI, RDI, EOBI) Handlers  16.1.0
API documentation
InstrumentStateChange.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  /// Instrument state change
33  class ONIXS_EUREX_EMDI_API InstrumentStateChange : public Message
34  {
35  public:
36  /// Product identifier.
38  {
39  return getUInt32 (Tags::MarketSegmentID);
40  }
41 
42  /// Instrument identifier.
44  {
45  return getInt64 (Tags::SecurityID);
46  }
47 
48  /// Security Status.
50  {
51  return getIntEnumFieldValue<SecurityStatus> (*this, Tags::SecurityStatus);
52  }
53 
54  /// Defines the security trading status.
56  {
57  return getIntEnumFieldValue<SecurityTradingStatus> (*this, Tags::SecurityTradingStatus);
58  }
59 
60  /// Indicator for stressed market conditions.
62  {
63  return getIntEnumFieldValue<MarketCondition>(*this, Tags::MarketCondition);
64  }
65 
66  /// Indicates if product is in the state Fast Market.
67  bool fastMarketIndicator() const
68  {
69  return getUInt32 (Tags::FastMarketIndicator) == 1;
70  }
71 
72  /// Identifies an event related to a securityTradingStatus()
74  {
75  return getIntEnumFieldValue<SecurityTradingEvent> (*this, Tags::SecurityTradingEvent);
76  }
77 
78  /// Identifies the sold out status (applicable for continuous auction trading model only).
80  {
81  return getNonZeroIntEnumFieldValue<SoldOutIndicator>(*this, Tags::SoldOutIndicator);
82  }
83 
84  /// Upper boundary price.
85  bool highPx(Decimal& price) const
86  {
87  return get(Tags::HighPx).toNumber(price);
88  }
89 
90  /// Lower boundary price.
91  bool lowPx(Decimal& price) const
92  {
93  return get(Tags::LowPx).toNumber(price);
94  }
95 
96  /// Time when request was processed by the matcher (nanoseconds).
97  UInt64 transactTime() const
98  {
99  return getUInt64(Tags::TransactTime);
100  }
101 
102  /// Defines the TES security status.
104  {
105  return getIntEnumFieldValue<SecurityStatus> (*this, Tags::TESSecurityStatus);
106  }
107 
108  private:
109  friend class InstrumentStateChangeWrapper;
110 
111  InstrumentStateChange (const void* impl)
112  : Message (impl)
113  {
114  }
115  };
116  }
117  }
118 }
UInt64 transactTime() const
Time when request was processed by the matcher (nanoseconds).
SecurityId securityId() const
Instrument identifier.
bool fastMarketIndicator() const
Indicates if product is in the state Fast Market.
SecurityTradingEvent::Enum securityTradingEvent() const
Identifies an event related to a securityTradingStatus()
SecurityTradingStatus::Enum securityTradingStatus() const
Defines the security trading status.
SoldOutIndicator::Enum soldOutIndicator() const
Identifies the sold out status (applicable for continuous auction trading model only).
const Tag SecurityTradingStatus
Definition: Tags.h:61
Definition: Defines.h:30
Decimal type for better precision.
Definition: Numeric.h:63
bool highPx(Decimal &price) const
Upper boundary price.
Int64 SecurityId
Alias for Security Id type.
Definition: Defines.h:51
MarketSegmentId marketSegmentId() const
Product identifier.
bool lowPx(Decimal &price) const
Lower boundary price.
MarketCondition::Enum marketCondition() const
Indicator for stressed market conditions.
SecurityStatus::Enum securityStatus() const
Security Status.
const Tag SecurityTradingEvent
Definition: Tags.h:189
SecurityStatus::Enum tesSecurityStatus() const
Defines the TES security status.
UInt32 MarketSegmentId
Alias for Market Segment ID type.
Definition: Defines.h:40
const Tag FastMarketIndicator
Definition: Tags.h:143