OnixS Eurex ETI Handler C++ library  9.22.0
API documentation
CLIPExecutionNotification.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
13  * part of this source code or associated reference material to any other location for further
14  * reproduction or redistribution, and any amendments to this copyright notice, are expressly
15  * prohibited.
16  *
17  * Any reproduction or redistribution for sale or hiring of the Software not in accordance with
18  * the terms of the Agreement is a violation of copyright law.
19  */
20 
21 #pragma once
22 
25 #include "OnixS/Eurex/Trading/Export.h"
28 
29 #include <iosfwd>
30 #include <string>
31 #include <vector>
32 
33 namespace OnixS { namespace Eurex { namespace Trading {
34 
35 /// Fills Group Element.
36 class ONIXS_EUREX_ETI_EXPORT FillsGrpElem
37 {
38 public:
39  /// Initialize default instance.
40  FillsGrpElem();
41 
42  /// Price of Fill.
44 
45  /// Quantity of Fill.
47 
48  /// Unique identifier for each price level of a match event (used for public trade reporting).
50 
51  /// Private identifier of an order match event, which can be reconciled with the field SideTradeID (1506) in the
52  /// Trade Capture Report (AE).
54 
55  /// Indicates whether the order added or removed liquidity.
57 
58  /// Returns string representation.
59  std::string toString() const;
60 
61 private:
62  friend class Serializer;
63  FillsGrpElem(const void* data);
64 };
65 
66 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, const FillsGrpElem&);
67 
68 /// Instrmnt Leg Exec Group Element.
69 class ONIXS_EUREX_ETI_EXPORT InstrmntLegExecGrpElem
70 {
71 public:
72  /// Initialize default instance.
74 
75  /// Instrument identifiier of the leg security.
77 
78  /// Price of this leg fill.
80 
81  /// Quantity executed in this leg fill.
83 
84  /// Private identifier of a leg match event, which can be reconciled with the field SideTradeID (1506) in the Trade
85  /// Capture Report (AE).
87 
88  /// The side of the individual leg of a strategy.
90 
91  /// Reference to the corresponding FillsGrp repeating group instance.
93 
94  /// Returns string representation.
95  std::string toString() const;
96 
97 private:
98  friend class Serializer;
99  InstrmntLegExecGrpElem(const void* data);
100 };
101 
102 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, const InstrmntLegExecGrpElem&);
103 
104 /// CLIP Execution Notification Message.
105 class ONIXS_EUREX_ETI_EXPORT CLIPExecutionNotification : public Message
106 {
107 public:
108  /// Initialize default instance.
110 
111  /// Matching engine out timestamp.
113 
114  /// Is required to define the scope of a Retransmission Request.
116 
117  /// Message key assigned to a order/quote event related Eurex ETI data stream.
119 
120  /// Identifier for subscription and retransmission of an ETI data stream.
122 
123  /// Indicates a retransmission message.
125 
126  /// Indicates whether this message is the last fragment (part) of a sequence of messages belonging to one dedicated
127  /// transaction.
129 
130  /// Exchange Order ID generated by Eurex System; it remains constant over the lifetime of an order.
132 
133  /// Transaction timestamp.
135 
136  /// The instrument identifier uniquely identifies an instrument in the core system.
138 
139  /// Total quantity cancelled for this order.
141 
142  /// Remaining quantity of an order.
144 
145  /// Cumulated executed quantity of an order.
147 
148  /// The product identifier uniquely identifies a Eurex product.
150 
151  /// Code to further qualify the field ExecType (150) of the Execution Report (8) message.
153 
154  /// This field qualifies an instrument type on Eurex.
156 
157  /// Side of the order.
159 
160  /// Conveys the current status of an order.
162 
163  /// The reason why this message was generated.
165 
166  /// The point in the matching process at which this trade was matched.
168 
169  /// Fills Group.
170  std::vector<FillsGrpElem> fillsGrp;
171 
172  /// Instrmnt Leg Exec Group.
173  std::vector<InstrmntLegExecGrpElem> instrmntLegExecGrp;
174 
175  /// Returns template ID.
176  TemplateId::Enum templateId() const;
177 
178  /// Returns string representation.
179  std::string toString() const;
180 
181 private:
182  friend class Serializer;
183  CLIPExecutionNotification(const void* data, size_t dataSize, MessageInfo& msgInfo);
184  void nativeSerializeTo(void* nativeMessage);
185 };
186 
187 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, const CLIPExecutionNotification&);
188 
189 }}}
Enum
Indicates a retransmission message.
Definition: Enumerations.h:76
std::vector< FillsGrpElem > fillsGrp
Fills Group.
unsigned char UInt8
Definition: Defines.h:43
Enum
Side of the order.
SInt64 cxlQty
Total quantity cancelled for this order.
Enum
The point in the matching process at which this trade was matched.
unsigned long long UInt64
Definition: Defines.h:46
SInt64 securityId
The instrument identifier uniquely identifies an instrument in the core system.
Enum
The side of the individual leg of a strategy.
Definition: Enumerations.h:925
Enum
The reason why this message was generated.
Definition: Enumerations.h:527
signed int SInt32
Definition: Defines.h:41
Enum
This field qualifies an instrument type on Eurex.
SInt32 marketSegmentId
The product identifier uniquely identifies a Eurex product.
ExecType::Enum execType
The reason why this message was generated.
Message base class.
Definition: Message.h:32
std::vector< UInt8 > Data
Definition: Defines.h:59
Enum
Code to further qualify the field ExecType (150) of the Execution Report (8) message.
Definition: Enumerations.h:481
SInt64 leavesQty
Remaining quantity of an order.
MatchType::Enum matchType
The point in the matching process at which this trade was matched.
unsigned int UInt32
Definition: Defines.h:45
signed long long SInt64
Definition: Defines.h:42
UInt16 partitionId
Is required to define the scope of a Retransmission Request.
SInt64 cumQty
Cumulated executed quantity of an order.
std::ostream & operator<<(std::ostream &, ConnectionState::Enum)
Make it printable using C++ I/O streams.
ApplId::Enum applId
Identifier for subscription and retransmission of an ETI data stream.
SInt64 legSecurityId
Instrument identifiier of the leg security.
ProductComplex::Enum productComplex
This field qualifies an instrument type on Eurex.
SInt64 legLastQty
Quantity executed in this leg fill.
FillLiquidityInd::Enum fillLiquidityInd
Indicates whether the order added or removed liquidity.
LegSide::Enum legSide
The side of the individual leg of a strategy.
Enum
Identifier for subscription and retransmission of an ETI data stream.
Definition: Enumerations.h:33
UInt64 trdRegTSTimeOut
Matching engine out timestamp.
UInt8 fillRefId
Reference to the corresponding FillsGrp repeating group instance.
std::vector< InstrmntLegExecGrpElem > instrmntLegExecGrp
Instrmnt Leg Exec Group.
UInt64 orderId
Exchange Order ID generated by Eurex System; it remains constant over the lifetime of an order...
Data applMsgId
Message key assigned to a order/quote event related Eurex ETI data stream.
OrdStatus::Enum ordStatus
Conveys the current status of an order.
Enum
Conveys the current status of an order.
Enum
Indicates whether the order added or removed liquidity.
Definition: Enumerations.h:587
unsigned short UInt16
Definition: Defines.h:44
ApplResendFlag::Enum applResendFlag
Indicates a retransmission message.
UInt32 fillMatchId
Unique identifier for each price level of a match event (used for public trade reporting).
ExecRestatementReason::Enum execRestatementReason
Code to further qualify the field ExecType (150) of the Execution Report (8) message.