OnixS Eurex ETI Handler C++ library  9.19.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 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 
22 #include "OnixS/Eurex/Trading/Export.h"
29 
30 #include <iosfwd>
31 #include <string>
32 #include <vector>
33 
34 namespace OnixS {
35 namespace Eurex {
36 namespace Trading {
37 
38 /// Order Exec Notification Message.
39 class ONIXS_EUREX_ETI_EXPORT OrderExecNotification : public Message
40 {
41 public:
42  /// Initialize default instance.
44 
45  /// Matching engine out timestamp.
47 
48  /// Is required to define the scope of a Retransmission Request.
50 
51  /// Message key assigned to a order/quote event related Eurex ETI data stream.
53 
54  /// Identifier for subscription and retransmission of an ETI data stream.
56 
57  /// Indicates a retransmission message.
59 
60  /// Indicates whether this message is the last fragment (part) of a sequence of messages belonging to one dedicated 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 order ID chaining.
71 
72  /// The instrument identifier uniquely identifies an instrument in the core system.
74 
75  /// Transaction timestamp.
77 
78  /// Remaining quantity of an order.
80 
81  /// Cumulated executed quantity of an order.
83 
84  /// Total quantity cancelled for this order.
86 
87  /// The product identifier uniquely identifies a Eurex product.
89 
90  /// Mass order response identifier generated by the exchange.
92 
93  /// Code to further qualify the field ExecType (150) of the Execution Report (8) message.
95 
96  /// Side of the order.
98 
99  /// This field qualifies an instrument type on Eurex.
101 
102  /// Conveys the current status of an order.
104 
105  /// The reason why this message was generated.
107 
108  /// Indicates if an order has been previously triggered.
110 
111  /// Indicates SMP involvement.
113 
114  /// User defined client order ID.
115  std::string fixClOrdId;
116 
117  /// Fills Group.
118  std::vector<FillsGrpElem> fillsGrp;
119 
120  /// Instrmnt Leg Exec Group.
121  std::vector<InstrmntLegExecGrpElem> instrmntLegExecGrp;
122 
123  /// Order Event Group.
124  std::vector<OrderEventGrpElem> orderEventGrp;
125 
126  /// Returns template ID.
127  TemplateId::Enum templateId () const;
128 
129  /// Returns string representation.
130  std::string toString () const;
131 
132 private:
133  friend class Serializer;
134  OrderExecNotification (const void* data, size_t dataSize, MessageInfo& msgInfo);
135  void nativeSerializeTo (void* nativeMessage);
136 };
137 
138 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, const OrderExecNotification&);
139 
140 }
141 }
142 }
std::vector< InstrmntLegExecGrpElem > instrmntLegExecGrp
Instrmnt Leg Exec Group.
std::string fixClOrdId
User defined client order ID.
CrossedIndicator::Enum crossedIndicator
Indicates SMP involvement.
Enum
Indicates whether this message is the last fragment (part) of a sequence of messages belonging to one...
Definition: Enumerations.h:661
Enum
Indicates a retransmission message.
Definition: Enumerations.h:71
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:47
Enum
The reason why this message was generated.
Definition: Enumerations.h:452
ApplResendFlag::Enum applResendFlag
Indicates a retransmission message.
signed int SInt32
Definition: Defines.h:42
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:33
SInt64 cumQty
Cumulated executed quantity of an order.
std::vector< UInt8 > Data
Definition: Defines.h:60
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:409
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:46
signed long long SInt64
Definition: Defines.h:43
Triggered::Enum triggered
Indicates if an order has been previously triggered.
SInt64 leavesQty
Remaining quantity of an order.
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:34
std::vector< OrderEventGrpElem > orderEventGrp
Order Event Group.
std::ostream & operator<<(std::ostream &, const ConnectionStateChange &)
Make it printable to formatted C++ I/O streams.
Enum
Conveys the current status of an order.
Enum
Indicates SMP involvement.
Definition: Enumerations.h:256
unsigned short UInt16
Definition: Defines.h:45
SInt32 marketSegmentId
The product identifier uniquely identifies a Eurex product.
ExecType::Enum execType
The reason why this message was generated.
UInt64 origClOrdId
ClOrdID (11) of the last successfully processed task (request) referring to the specific order; used ...
LastFragment::Enum lastFragment
Indicates whether this message is the last fragment (part) of a sequence of messages belonging to one...
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...