OnixS C++ CBOE CFE Binary Order Entry (BOE) Handler  1.12.0
API documentation
ConstantNewOrderOptionUSFutures.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 namespace Testing {
35 
36  /// New Order Option US Futures V1
37  struct ONIXS_CBOE_CFE_BOE_API ConstantNewOrderOptionUSFutures : public BinaryMessage
38  {
39  /// Unique Id chosen by the client.
40  StrRef clOrdId() const
41  {
42  return fixedStr<20>(0);
43  }
44 
45  /// Side.
46  Side::Enum side() const
47  {
48  return enumeration<Side>(20);
49  }
50 
51  /// Order quantity.
52  Binary4 orderQty() const
53  {
54  return ordinary<Binary4>(21);
55  }
56 
57  /// EFID that will clear the trade.
59  {
60  return fixedStr<4>(25);
61  }
62 
63  /// Supplemental identifier.
65  {
66  return fixedStr<4>(29);
67  }
68 
69  /// Limit price. Four implied decimal places.
71  {
72  return ordinary<BinaryPrice>(33);
73  }
74 
75  /// Order type.
77  {
78  return enumeration<OrdType>(41);
79  }
80 
81  /// Time In Force.
83  {
84  return enumeration<TimeInForce>(42);
85  }
86 
87  /// Symbol.
88  StrRef symbol() const
89  {
90  return fixedStr<8>(43);
91  }
92 
93  /// Security Description.
95  {
96  return fixedStr<16>(51);
97  }
98 
99  /// The Capacity refers to the OCC account type.
101  {
102  return enumeration<Capacity>(67);
103  }
104 
105  /// Unique account identifier.
106  StrRef account() const
107  {
108  return fixedStr<16>(68);
109  }
110 
111  /// Prevent match.
113  {
114  return fixedStr<3>(84);
115  }
116 
117  /// Required for TimeInForce = 6 orders, specifies the date-time (in UTC) that the order expires.
119  {
120  return ordinary<DateTime>(87);
121  }
122 
123  /// Indicates status of client position in a trade resulting from the order.
125  {
126  return enumeration<OpenClose>(95);
127  }
128 
129  /// CMTA Number of the firm that will clear the trade.
131  {
132  return ordinary<Binary4>(96);
133  }
134 
135  /// Used to group orders for use in mass cancels where multiple orders can be cancelled by specifying a list of CustomGroupIds.
137  {
138  return ordinary<Binary2>(100);
139  }
140 
141  /// Cti Code.
143  {
144  return enumeration<CtiCode>(102);
145  }
146 
147  /// Manual order indicator.
149  {
150  return enumeration<ManualOrderIndicator>(103);
151  }
152 
153  /// Identifies the Order Entry Operator responsible for this message.
154  StrRef oEOID() const
155  {
156  return fixedStr<18>(104);
157  }
158 
159  /// Supplemental customer identifier used for billing related programs.
161  {
162  return fixedStr<6>(122);
163  }
164 
165  /// Execution source code provided during order entry to describe broker service.
167  {
168  return enumeration<CustOrderHandlingInst>(128);
169  }
170 
171  /// Identifies the country code.
173  {
174  return fixedStr<2>(129);
175  }
176 
177  /// Legs.
178  Binary1 leg() const
179  {
180  throw NotImplementedException();
181  }
182 
183  /// Legs.
184  struct Legs {};
186  {
187  throw NotImplementedException();
188  }
189 
191 
192  ///
194  : BinaryMessage()
195  {
196  }
197 
198  /// Initializes instance over given memory block.
200  : BinaryMessage(data, size)
201  {
202  }
203  };
204 
205  /// Serializes object into string.
206  ONIXS_CBOE_CFE_BOE_API void toStr(std::string&, const ConstantNewOrderOptionUSFutures&);
207 
208  /// Serializes object into string.
209  inline std::string toStr(const ConstantNewOrderOptionUSFutures& msg)
210  {
211  std::string str;
212  toStr(str, msg);
213  return str;
214  }
215 
216 }
217 }
218 }
219 }
220 }
Provides efficient way of accessing text-based field values.
Definition: String.h:45
ManualOrderIndicator::Enum manualOrderIndicator() const
Manual order indicator.
CustOrderHandlingInst::Enum custOrderHandlingInst() const
Execution source code provided during order entry to describe broker service.
Encapsulates services for manipulating little endian encoded messages.
Capacity::Enum capacity() const
The Capacity refers to the OCC account type.
Binary2 MessageSize
Aliases message length type.
BinaryPrice price() const
Limit price. Four implied decimal places.
StrRef frequentTraderId() const
Supplemental customer identifier used for billing related programs.
DateTime expireTime() const
Required for TimeInForce = 6 orders, specifies the date-time (in UTC) that the order expires...
StrRef oEOID() const
Identifies the Order Entry Operator responsible for this message.
#define ONIXS_BATS_BOE_NOEXCEPT
Definition: ABI.h:49
Binary4 cMTANumber() const
CMTA Number of the firm that will clear the trade.
ONIXS_CBOE_CFE_BOE_API void toStr(std::string &, const ConstantNewOrderV2 &)
Serializes object into string.
OpenClose::Enum openClose() const
Indicates status of client position in a trade resulting from the order.
ConstantNewOrderOptionUSFutures(const void *data, MessageSize size)
Initializes instance over given memory block.
Binary2 customGroupId() const
Used to group orders for use in mass cancels where multiple orders can be cancelled by specifying a l...