OnixS C++ Eurex T7 Market and Reference Data (EMDI, MDI, RDI, EOBI) Handlers  16.1.1
API documentation
ExecutionSummary.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 RemainingOrderDetailsEntry : public DataContainer
36  {
37  public:
38  /// Appends text presentation.
39  void toString (std::string&) const;
40 
41  ///
42  bool trdRegTSPrevTimePriority(UInt64& result) const ONIXS_EUREX_EMDI_NOEXCEPT;
43 
44  ///
45  bool displayQty(Int64& result) const ONIXS_EUREX_EMDI_NOEXCEPT;
46 
47  ///
48  bool price(Decimal& price) const ONIXS_EUREX_EMDI_NOEXCEPT;
49 
50  private:
52 
53  explicit RemainingOrderDetailsEntry(const void* data) ONIXS_EUREX_EMDI_NOEXCEPT;
54  };
55 
56  class ONIXS_EUREX_EMDI_API RemainingOrderDetailsEntries : public DataContainer
57  {
58  public:
59  /// Number of entries
60  size_t size() const ONIXS_EUREX_EMDI_NOEXCEPT;
61 
62  /// Entry accessor
63  RemainingOrderDetailsEntry operator[] (size_t idx) const;
64 
65  /// Appends text presentation.
66  void toString (std::string&) const;
67 
68  private:
69  friend class ExecutionSummary;
70 
71  explicit RemainingOrderDetailsEntries (const void* data) ONIXS_EUREX_EMDI_NOEXCEPT;
72  };
73 
74  class ONIXS_EUREX_EMDI_API ExecutionSummary : public MessageBase
75  {
76  public:
77  /// Message type
78  std::string msgType() const;
79 
80  /// Market data type
81  EOBI::MarketDataType::Enum marketDataType() const;
82 
83  /// Type of Market Data update action.
84  EOBI::MDUpdateAction::Enum mdUpdateAction() const;
85 
86  /// Marketplace assigned identifier.
87  EOBI::SecurityIDSource::Enum securityIDSource() const;
88 
89  /// Unique instrument identifier.
90  UInt64 securityID() const;
91 
92  /// UTCTimestamp
93  UInt64 aggressorTime() const;
94 
95  /// Gateway request in timestamp.
96  UInt64 requestTime() const;
97 
98  /// Matching timestamp.
99  UInt64 execID() const;
100 
101  /// Total quantity of this match.
102  QuantityType lastQty() const;
103 
104  /// Aggressor side
105  EOBI::AggressorSide::Enum aggressorSide() const;
106 
107  /// Indicates whether a synthetic match is occurred.
108  EOBI::TradeCondition::Enum tradeCondition() const;
109 
110  /// The trading HHI is the index to the HHI interval of the match event.
111  UInt8 tradingHHIIndicator() const;
112 
113  /// Worst price of this match.
114  Decimal lastPx() const;
115 
116  /// Quantity of matched passive orders that is not displayed to the market.
117  QuantityType restingHiddenQty() const;
118 
119  // The deleted quantity due to Self Match Prevention within a Match Event. This quantity is not part of LastQty which could even be 0 in certain cases.
120  QuantityType restingCxlQty() const;
121 
122  ///
123  RemainingOrderDetailsEntries remainingOrderDetailsEntriesGrp() const ONIXS_EUREX_EMDI_NOEXCEPT;
124 
125  /// Appends text presentation.
126  void toString (std::string&) const ONIXS_EUREX_EMDI_OVERRIDE;
127 
128  private:
129  friend class Implementation::MessageFactory;
130 
131  ExecutionSummary (const void* data, const DataSource& dataSource) : MessageBase (data, dataSource) {}
132  };
133  }
134  }
135  }
136 }
unsigned char UInt8
Definition: Numeric.h:35
#define ONIXS_EUREX_EMDI_NOEXCEPT
Definition: Compiler.h:122
#define ONIXS_EUREX_EMDI_OVERRIDE
Definition: Compiler.h:126
Definition: Defines.h:30
Decimal type for better precision.
Definition: Numeric.h:63