OnixS C++ CBOE CFE Binary Order Entry (BOE) Handler  1.11.0
API documentation
OrderAcknowledgementOptionUSFutures.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 <vector>
23 
28 
29 
30 namespace OnixS {
31 namespace CboeCFE {
32 namespace Trading {
33 namespace BOE {
34 
35  /// Is sent in response to a New Order Option US Futures message.
36  struct ONIXS_CBOE_CFE_BOE_API OrderAcknowledgementOptionUSFutures : public BinaryMessage
37  {
38  /// The time the event occurred in the CFE Matching Engine.
40  {
41  return ordinary<DateTime>(0);
42  }
43 
44  /// Echoed back from the TPH message.
45  StrRef clOrdId() const
46  {
47  return fixedStr<20>(8);
48  }
49 
50  /// Order identifier supplied by CFE.
51  Binary8 orderId() const
52  {
53  return ordinary<Binary8>(28);
54  }
55 
56  /// Side.
57  Side::Enum side() const
58  {
59  return enumeration<Side>(36);
60  }
61 
62  /// Echoed back from the TPH message.
64  {
65  return ordinary<BinaryPrice>(37);
66  }
67 
68  /// Echoed back from the TPH message.
69  StrRef ordType() const
70  {
71  return fixedStr<1>(45);
72  }
73 
74  /// Echoed back from the TPH message.
76  {
77  return fixedStr<1>(46);
78  }
79 
80  /// Echoed back from the TPH message.
81  StrRef symbol() const
82  {
83  return fixedStr<8>(47);
84  }
85 
86  /// Echoed back from the TPH message.
88  {
89  return fixedStr<16>(55);
90  }
91 
92  /// Echoed back from the TPH message.
93  StrRef capacity() const
94  {
95  return fixedStr<1>(71);
96  }
97 
98  /// Echoed back from the TPH message.
99  StrRef account() const
100  {
101  return fixedStr<16>(72);
102  }
103 
104  /// Echoed back from the TPH message.
106  {
107  return fixedStr<4>(88);
108  }
109 
110  /// Echoed back from the TPH message.
112  {
113  return fixedStr<4>(92);
114  }
115 
116  /// Echoed back from the TPH message.
118  {
119  return ordinary<Binary4>(96);
120  }
121 
122  /// PreventMatch as accepted by CBOE.
124  {
125  return fixedStr<3>(100);
126  }
127 
128  /// Indic ates status of client position in a trade resulting from the order.
130  {
131  return enumeration<OpenClose>(103);
132  }
133 
134  /// Quantity still open for further execution.
136  {
137  return ordinary<Binary4>(104);
138  }
139 
140  /// Indicates whether the trade added or removed liquidity.
142  {
143  return enumeration<BaseLiquidityIndicator>(108);
144  }
145 
146  /// Echoed back from the TPH message.
148  {
149  return ordinary<DateTime>(109);
150  }
151 
152  /// Additional information about the liquidity of an order.
154  {
155  return enumeration<SubLiquidityIndicator>(117);
156  }
157 
158  /// Echoed back from the TPH message.
160  {
161  return ordinary<Binary4>(118);
162  }
163 
164  /// Echoed back from the TPH message.
166  {
167  return enumeration<CtiCode>(122);
168  }
169 
170  /// Echoed back from the TPH message.
172  {
173  return enumeration<ManualOrderIndicator>(123);
174  }
175 
176  /// Echoed back from the TPH message.
177  StrRef oEOID() const
178  {
179  return fixedStr<18>(124);
180  }
181 
182  /// Echoed back from the TPH message.
183  Binary4 cumQty() const
184  {
185  return ordinary<Binary4>(142);
186  }
187 
188  /// Echoed back from the TPH message.
190  {
191  return fixedStr<6>(146);
192  }
193 
194  /// Echoed back from the TPH message.
196  {
197  return enumeration<CustOrderHandlingInst>(152);
198  }
199 
200  /// Echoed back from the TPH message.
202  {
203  return fixedStr<2>(153);
204  }
205 
206  /// The earliest timestamp, populated with nanosecond precision, recorded by CFE of the corresponding inbound message being acknowledged.
208  {
209  return ordinary<DateTime>(155);
210  }
211 
212  /// Legs.
213  Binary1 legCnt() const
214  {
215  return ordinary<Binary1>(163);
216  }
217 
218  struct Leg : public BinaryMessage
219  {
220  /// Echoed back from the TPH message.
222  {
223  return fixedStr<1>(0);
224  }
225 
226  /// Initializes instance over given memory block.
227  Leg(const void* data, MessageSize size)
228  : BinaryMessage(data, size)
229  {
230  }
231  };
232 
233  ///
234  Leg legs(MessageSize index) const
235  {
236  if (index >= legCnt())
237  throw std::out_of_range("index");
238  return submessage<Leg>(163 + 1 + 1 * index, 1);
239  }
240 
241  /// Initializes instance over given memory block.
243  : BinaryMessage(data, size)
244  {
245  }
246  };
247 
248  /// Serializes object into string.
249  ONIXS_CBOE_CFE_BOE_API void toStr(std::string&, const OrderAcknowledgementOptionUSFutures&);
250 
251  /// Serializes object into string.
252  inline std::string toStr(const OrderAcknowledgementOptionUSFutures& msg)
253  {
254  std::string str;
255  toStr(str, msg);
256  return str;
257  }
258 
259 }
260 }
261 }
262 }
DateTime transactionTime() const
The time the event occurred in the CFE Matching Engine.
Is sent in response to a New Order Option US Futures message.
OpenClose::Enum openClose() const
Indic ates status of client position in a trade resulting from the order.
ManualOrderIndicator::Enum manualOrderIndicator() const
Echoed back from the TPH message.
Provides efficient way of accessing text-based field values.
Definition: String.h:45
SubLiquidityIndicator::Enum subLiquidityIndicator() const
Additional information about the liquidity of an order.
Encapsulates services for manipulating little endian encoded messages.
Binary4 leavesQty() const
Quantity still open for further execution.
void toStr(std::string &str, const FixedPointDecimal< Mantissa, Exponent > &number)
Serializes fixed-point decimal into a string.
Definition: Decimal.h:156
DateTime requestReceivedTime() const
The earliest timestamp, populated with nanosecond precision, recorded by CFE of the corresponding inb...
Binary2 MessageSize
Aliases message length type.
Leg(const void *data, MessageSize size)
Initializes instance over given memory block.
CustOrderHandlingInst::Enum custOrderHandlingInst() const
Echoed back from the TPH message.
OrderAcknowledgementOptionUSFutures(const void *data, MessageSize size)
Initializes instance over given memory block.
BaseLiquidityIndicator::Enum baseLiquidityIndicator() const
Indicates whether the trade added or removed liquidity.