1 #ifndef libjmmcg_isimud_exchanges_BATSBOE_EU_messages_hpp
2 #define libjmmcg_isimud_exchanges_BATSBOE_EU_messages_hpp
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 #include "types.hpp"
25 #include "optional_field_types.hpp"
26 #include "../common/messages.hpp"
27
28 namespace isimud { namespace exchanges { namespace BATSBOE {
29
30
31
32
33 namespace EU {
34
35
36
37
38 struct TradeCaptureReport : public common::Header<MsgType, MsgType::TradeCaptureReport> {
39 using Header_t=common::Header<MsgType, MsgType::TradeCaptureReport>;
40 using bitfields_to_type_map=optional::TradeCaptureReport::bitfields_to_type_map;
41 using bitfields_tags_type=bitfields_to_type_map::bitfields_tags_type;
42
43 explicit TradeCaptureReport(uint32_t seqNumber) noexcept(true) FORCE_INLINE;
44
45 private:
46 common::TradeReportID_t tradeReportID;
47 uint32_t lastShares;
48 common::Price_t lastPx;
49 bitfields_to_type_map bitfields;
50 } __attribute__((packed));
51
52
53
54
55 struct TradeCaptureReportAck : public common::Header<MsgType, MsgType::TradeCaptureReportAck> {
56 using Header_t=common::Header<MsgType, MsgType::TradeCaptureReportAck>;
57 using bitfields_to_type_map=optional::TradeCaptureReportAck::bitfields_to_type_map;
58 using bitfields_tags_type=bitfields_to_type_map::bitfields_tags_type;
59
60 const common::DateTime_t transactionTime;
61
62 explicit TradeCaptureReportAck(uint32_t seqNumber) noexcept(true) FORCE_INLINE;
63
64 private:
65 common::TradeReportID_t tradeReportID;
66 bitfields_to_type_map bitfields;
67 } __attribute__((packed));
68
69
70
71
72 struct TradeCaptureReportReject : public common::Header<MsgType, MsgType::TradeCaptureReportReject> {
73 using Header_t=common::Header<MsgType, MsgType::TradeCaptureReportReject>;
74 using bitfields_to_type_map=optional::TradeCaptureReportAck::bitfields_to_type_map;
75 using bitfields_tags_type=bitfields_to_type_map::bitfields_tags_type;
76
77 const common::DateTime_t transactionTime;
78
79 explicit TradeCaptureReportReject(uint32_t seqNumber) noexcept(true) FORCE_INLINE;
80
81 private:
82 common::TradeReportID_t tradeReportID;
83 common::Reason reason;
84 common::Text_t text;
85 bitfields_to_type_map bitfields;
86 } __attribute__((packed));
87
88
89
90
91 struct TradeCaptureConfirm : public common::Header<MsgType, MsgType::TradeCaptureConfirm> {
92 using Header_t=common::Header<MsgType, MsgType::TradeCaptureConfirm>;
93 using bitfields_to_type_map=optional::TradeCaptureConfirm::bitfields_to_type_map;
94 using bitfields_tags_type=bitfields_to_type_map::bitfields_tags_type;
95
96 const common::DateTime_t transactionTime;
97
98 explicit TradeCaptureConfirm(uint32_t seqNumber) noexcept(true) FORCE_INLINE;
99
100 private:
101 common::TradeReportID_t tradeReportID;
102 common::TradeReportRefID_t tradeReportRefID;
103 uint64_t tradeID;
104 uint32_t lastShares;
105 common::Price_t lastPx;
106 common::ContraBroker_t contraBroker;
107 common::Reason reason;
108 common::Text_t text;
109 bitfields_to_type_map bitfields;
110 } __attribute__((packed));
111
112
113
114
115 struct TradeCaptureDecline : public common::Header<MsgType, MsgType::TradeCaptureDecline> {
116 using Header_t=common::Header<MsgType, MsgType::TradeCaptureDecline>;
117 using bitfields_to_type_map=optional::TradeCaptureConfirm::bitfields_to_type_map;
118 using bitfields_tags_type=bitfields_to_type_map::bitfields_tags_type;
119
120 const common::DateTime_t transactionTime;
121
122 explicit TradeCaptureDecline(uint32_t seqNumber) noexcept(true) FORCE_INLINE;
123
124 private:
125 common::TradeReportID_t tradeReportID;
126 common::TradeReportRefID_t tradeReportRefID;
127 uint64_t tradeID;
128 uint32_t lastShares;
129 common::Price_t lastPx;
130 common::ContraBroker_t contraBroker;
131 common::Reason reason;
132 common::Text_t text;
133 bitfields_to_type_map bitfields;
134 } __attribute__((packed));
135
136 } } } }
137
138 #include "messages_impl.hpp"
139
140 #endif