OnixS C++ Eurex T7 Market and Reference Data (EMDI, MDI, RDI, EOBI) Handlers  17.0.1
API documentation
ProductStateChange.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 
26 
27 namespace OnixS
28 {
29  namespace Eurex
30  {
31  namespace MarketData
32  {
33  /// Product state change
34  class ONIXS_EUREX_EMDI_API ProductStateChange : public Message
35  {
36  public:
37  /// Product identifier.
39  {
40  return getUInt32 (Tags::MarketSegmentID);
41  }
42 
43  /// Defines the trading session ID.
45  {
46  return getIntEnumFieldValue<TradingSessionId> (*this, Tags::TradingSessionID);
47  }
48 
49  /// Defines the trading session sub ID.
51  {
52  return getIntEnumFieldValue<TradingSessionSubID> (*this, Tags::TradingSessionSubID);
53  }
54 
55 
56  /// Defines the trading session status.
58  {
59  return getIntEnumFieldValue<TradSesStatus> (*this, Tags::TradSesStatus);
60  }
61 
62  /// Indicates if product is in the state Fast Market.
63  bool fastMarketIndicator() const
64  {
65  return getUInt32 (Tags::FastMarketIndicator) == 1;
66  }
67 
68  /// Time when request was processed by the matcher (nanoseconds).
69  UInt64 transactTime() const
70  {
71  return getUInt64 (Tags::TransactTime);
72  }
73 
74  /// Defines the TES trading session status.
76  {
77  return getIntEnumFieldValue<TradSesStatus> (*this, Tags::TESTradSesStatus);
78  }
79 
80  /// Indicator for stressed market conditions.
82  {
83  return getIntEnumFieldValue<MarketCondition>(*this, Tags::MarketCondition);
84  }
85 
86  private:
87  friend class ProductStateChangeWrapper;
88 
89  ProductStateChange (const void* impl)
90  : Message (impl)
91  {
92  }
93  };
94  }
95  }
96 }
const Tag TradingSessionSubID
Definition: Tags.h:77
Definition: Defines.h:30
bool fastMarketIndicator() const
Indicates if product is in the state Fast Market.
MarketCondition::Enum marketCondition() const
Indicator for stressed market conditions.
UInt64 transactTime() const
Time when request was processed by the matcher (nanoseconds).
TradingSessionId::Enum tradingSessionId() const
Defines the trading session ID.
TradSesStatus::Enum tradSesStatus() const
Defines the trading session status.
TradingSessionSubID::Enum tradingSessionSubID() const
Defines the trading session sub ID.
UInt32 MarketSegmentId
Alias for Market Segment ID type.
Definition: Defines.h:40
MarketSegmentId marketSegmentId() const
Product identifier.
const Tag FastMarketIndicator
Definition: Tags.h:143
const Tag TradingSessionID
Definition: Tags.h:62
TradSesStatus::Enum tesTradSesStatus() const
Defines the TES trading session status.