OnixS C++ Eurex T7 Market and Reference Data Interface (EMDI, RDI, EOBI) Handlers  7.0.3
API documentation
TradeReversal.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  namespace EOBI
34  {
35  class ONIXS_EUREX_EMDI_API TradeReversalEntry : public DataContainer
36  {
37  public:
38  /// Price.
39  bool mdEntryPx (Decimal& price) const;
40 
41  /// Quantity.
42  QuantityType mdEntrySize() const;
43 
44  /// Type of market data entry.
45  EOBI::MDEntryType::Enum mdEntryType() const;
46 
47  /// Returns text presentation.
48  std::string toString() const;
49 
50  /// Appends text presentation.
51  void toString (std::string&) const;
52 
53  private:
54  friend class TradeReversalEntries;
55 
56  TradeReversalEntry (const void* data);
57  };
58 
60  {
61  public:
62  /// Number of entries
63  size_t size() const;
64 
65  /// Entry accessor
66  TradeReversalEntry operator[] (size_t idx) const;
67 
68  private:
69  friend class TradeReversal;
70 
71  TradeReversalEntries (const void* data);
72  };
73 
74  class ONIXS_EUREX_EMDI_API TradeReversal : 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  /// Transaction timestamp.
93  UInt64 transactTime() const;
94 
95  /// Unique identifier for each price level (match step) of a match event; it is used for public trade reporting.
96  UInt32 trdMatchID() const;
97 
98  /// Quantity executed in this fill.
99  Int64 lastQty() const;
100 
101  /// Price of this fill.
102  Decimal lastPx() const;
103 
104  /// Matching timestamp of new last trade.
105  UInt64 trdRegTSExecutionTime() const;
106 
107  /// Counter
108  UInt8 noMDEntries() const;
109 
110  /// Variable size array, record counter: NoMDEntries
111  TradeReversalEntries mdTradeEntryGrp() const;
112 
113  /// Trade Condition
114  EOBI::TradeCondition::Enum tradeCondition() const;
115 
116  /// Appends text presentation.
117  void toString (std::string&) const;
118 
119  private:
121 
122  TradeReversal (const void* data, const DataSource& dataSource) : MessageBase (data, dataSource) {}
123  };
124  }
125  }
126  }
127 }
128 
unsigned char UInt8
Definition: Numeric.h:35
unsigned int UInt32
Definition: Numeric.h:41
Definition: Group.h:25
Decimal type for better precision.
Definition: Numeric.h:63