OnixS Eurex ETI Handler C++ library  9.21.0
API documentation
OrderExecNotification.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"
30 
31 #include <iosfwd>
32 #include <string>
33 #include <vector>
34 
35 namespace OnixS { namespace Eurex { namespace Trading {
36 
37 /// Order Exec Notification Message.
38 class ONIXS_EUREX_ETI_EXPORT OrderExecNotification : public Message
39 {
40 public:
41  /// Initialize default instance.
43 
44  /// Matching engine out timestamp.
46 
47  /// Is required to define the scope of a Retransmission Request.
49 
50  /// Message key assigned to a order/quote event related Eurex ETI data stream.
52 
53  /// Identifier for subscription and retransmission of an ETI data stream.
55 
56  /// Indicates a retransmission message.
58 
59  /// Indicates whether this message is the last fragment (part) of a sequence of messages belonging to one dedicated
60  /// transaction.
62 
63  /// Exchange Order ID generated by Eurex System; it remains constant over the lifetime of an order.
65 
66  /// Unique participant defined order request identifier.
68 
69  /// ClOrdID (11) of the last successfully processed task (request) referring to the specific order; used for client
70  /// order ID chaining.
72 
73  /// The instrument identifier uniquely identifies an instrument in the core system.
75 
76  /// Transaction timestamp.
78 
79  /// Remaining quantity of an order.
81 
82  /// Cumulated executed quantity of an order.
84 
85  /// Total quantity cancelled for this order.
87 
88  /// The product identifier uniquely identifies a Eurex product.
90 
91  /// Mass order response identifier generated by the exchange.
93 
94  /// Code to further qualify the field ExecType (150) of the Execution Report (8) message.
96 
97  /// Side of the order.
99 
100  /// This field qualifies an instrument type on Eurex.
102 
103  /// Conveys the current status of an order.
105 
106  /// The reason why this message was generated.
108 
109  /// Indicates if an order has been previously triggered.
111 
112  /// Indicates SMP involvement.
114 
115  /// User defined client order ID.
116  std::string fixClOrdId;
117 
118  /// Fills Group.
119  std::vector<FillsGrpElem> fillsGrp;
120 
121  /// Instrmnt Leg Exec Group.
122  std::vector<InstrmntLegExecGrpElem> instrmntLegExecGrp;
123 
124  /// Order Event Group.
125  std::vector<OrderEventGrpElem> orderEventGrp;
126 
127  /// Returns template ID.
128  TemplateId::Enum templateId() const;
129 
130  /// Returns string representation.
131  std::string toString() const;
132 
133 private:
134  friend class Serializer;
135  OrderExecNotification(const void* data, size_t dataSize, MessageInfo& msgInfo);
136  void nativeSerializeTo(void* nativeMessage);
137 };
138 
139 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, const OrderExecNotification&);
140 
141 }}} // namespace OnixS::Eurex::Trading
std::vector< InstrmntLegExecGrpElem > instrmntLegExecGrp
Instrmnt Leg Exec Group.
std::string fixClOrdId
User defined client order ID.
CrossedIndicator::Enum crossedIndicator
Indicates SMP involvement.
Enum
Indicates a retransmission message.
Definition: Enumerations.h:76
UInt32 massOrderReportId
Mass order response identifier generated by the exchange.
Data applMsgId
Message key assigned to a order/quote event related Eurex ETI data stream.
Enum
Side of the order.
OrdStatus::Enum ordStatus
Conveys the current status of an order.
unsigned long long UInt64
Definition: Defines.h:46
Enum
The reason why this message was generated.
Definition: Enumerations.h:527
ApplResendFlag::Enum applResendFlag
Indicates a retransmission message.
signed int SInt32
Definition: Defines.h:41
Enum
This field qualifies an instrument type on Eurex.
ApplId::Enum applId
Identifier for subscription and retransmission of an ETI data stream.
Message base class.
Definition: Message.h:32
SInt64 cumQty
Cumulated executed quantity of an order.
std::vector< UInt8 > Data
Definition: Defines.h:59
ProductComplex::Enum productComplex
This field qualifies an instrument type on Eurex.
UInt64 trdRegTSTimeOut
Matching engine out timestamp.
Enum
Code to further qualify the field ExecType (150) of the Execution Report (8) message.
Definition: Enumerations.h:481
SInt64 securityId
The instrument identifier uniquely identifies an instrument in the core system.
Enum
Indicates if an order has been previously triggered.
SInt64 cxlQty
Total quantity cancelled for this order.
unsigned int UInt32
Definition: Defines.h:45
signed long long SInt64
Definition: Defines.h:42
Triggered::Enum triggered
Indicates if an order has been previously triggered.
SInt64 leavesQty
Remaining quantity of an order.
std::ostream & operator<<(std::ostream &, ConnectionState::Enum)
Make it printable using C++ I/O streams.
ExecRestatementReason::Enum execRestatementReason
Code to further qualify the field ExecType (150) of the Execution Report (8) message.
UInt64 clOrdId
Unique participant defined order request identifier.
Enum
Identifier for subscription and retransmission of an ETI data stream.
Definition: Enumerations.h:33
std::vector< OrderEventGrpElem > orderEventGrp
Order Event Group.
Enum
Conveys the current status of an order.
Enum
Indicates SMP involvement.
Definition: Enumerations.h:300
unsigned short UInt16
Definition: Defines.h:44
SInt32 marketSegmentId
The product identifier uniquely identifies a Eurex product.
ExecType::Enum execType
The reason why this message was generated.
std::vector< FillsGrpElem > fillsGrp
Fills Group.
UInt16 partitionId
Is required to define the scope of a Retransmission Request.
UInt64 orderId
Exchange Order ID generated by Eurex System; it remains constant over the lifetime of an order...