OnixS C++ CBOE CFE Binary Order Entry (BOE) Handler  1.12.0
API documentation
MutableTradeCancelOrCorrect.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  /// Used to provide notification that a trade has been cancelled (busted) or corrected (price change only).
37  struct ONIXS_CBOE_CFE_BOE_API MutableTradeCancelOrCorrect : public OutgoingMessage
38  {
39  /// The time the event occurred in the CFE Matching Engine (not the time the message was sent).
41  {
42  return transactionTime_;
43  }
44 
45  /// The time the event occurred in the CFE Matching Engine (not the time the message was sent).
47  {
48  transactionTime_ = value;
49  }
50 
51  /// The order which was executed.
52  StrRef clOrdId() const
53  {
54  return clOrdId_;
55  }
56 
57  /// The order which was executed.
58  void clOrdId(StrRef value)
59  {
60  clOrdId_ = value;
61  }
62 
63  /// Refers to the ExecId of the fill being cancelled or corrected.
65  {
66  return execRefId_;
67  }
68 
69  /// Refers to the ExecId of the fill being cancelled or corrected.
70  void execRefId(Binary8 value)
71  {
72  execRefId_ = value;
73  }
74 
75  /// Side
76  Side::Enum side() const
77  {
78  return side_;
79  }
80 
81  /// Side
82  void side(Side::Enum value)
83  {
84  side_ = value;
85  }
86 
87  /// Indicates whether the trade added or removed liquidity.
89  {
90  return baseLiquidityIndicator_;
91  }
92 
93  /// Indicates whether the trade added or removed liquidity.
95  {
96  baseLiquidityIndicator_ = value;
97  }
98 
99  /// EFID that will clear the trade.
101  {
102  return clearingFirm_;
103  }
104 
105  /// EFID that will clear the trade.
106  void clearingFirm(StrRef value)
107  {
108  clearingFirm_ = value;
109  }
110 
111  /// Supplemental identifier.
113  {
114  return clearingAccount_;
115  }
116 
117  /// Supplemental identifier.
119  {
120  clearingAccount_ = value;
121  }
122 
123  /// Executed contracts quantity.
125  {
126  return lastShares_;
127  }
128 
129  /// Executed contracts quantity.
130  void lastShares(Binary4 value)
131  {
132  lastShares_ = value;
133  }
134 
135  /// Price of this fill.
137  {
138  return lastPx_;
139  }
140 
141  /// Price of this fill.
142  void lastPx(BinaryPrice value)
143  {
144  lastPx_ = value;
145  }
146 
147  /// For trade corrections, this is the new trade price.
149  {
150  return correctedPrice_;
151  }
152 
153  /// For trade corrections, this is the new trade price.
155  {
156  correctedPrice_ = value;
157  }
158 
159  /// The date and time of the original trade, in GMT.
161  {
162  return origTime_;
163  }
164 
165  /// The date and time of the original trade, in GMT.
166  void origTime(DateTime value)
167  {
168  origTime_ = value;
169  }
170 
171  /// CFE native identifier of the instrument
172  StrRef symbol() const
173  {
174  return symbol_;
175  }
176 
177  /// CFE native identifier of the instrument
178  void symbol(StrRef value)
179  {
180  symbol_ = value;
181  }
182 
183  ///
185  {
186  return capacity_;
187  }
188 
189  ///
191  {
192  capacity_ = value;
193  }
194 
195  /// Maturity date of the instrument
197  {
198  return maturityDate_;
199  }
200 
201  /// Maturity date of the instrument
202  void maturityDate(Date value)
203  {
204  maturityDate_ = value;
205  }
206 
207  /// Indic ates status of client position in a trade resulting from the order.
209  {
210  return openClose_;
211  }
212 
213  /// Indic ates status of client position in a trade resulting from the order.
215  {
216  openClose_ = value;
217  }
218 
219  /// CMTA Number of the firm that will clear the trade.
221  {
222  return cMTANumber_;
223  }
224 
225  /// CMTA Number of the firm that will clear the trade.
226  void cMTANumber(Binary4 value)
227  {
228  cMTANumber_ = value;
229  }
230 
231  /// Returns message type
233 
234  /// Validates message data
235  /// Throws std::invalid_argument exception if message content is invalid.
236  void validate() const ONIXS_BATS_BOE_OVERRIDE;
237 
238  /// Returns the text representation
239  std::string toString() const ONIXS_BATS_BOE_OVERRIDE;
240 
241  /// The text representation
242  void toString(std::string& str) const ONIXS_BATS_BOE_OVERRIDE;
243 
244  private:
245  size_t serializeTo(unsigned char*) const ONIXS_BATS_BOE_NOEXCEPT ONIXS_BATS_BOE_OVERRIDE;
246 
247  DateTime transactionTime_;
248  Text<20> clOrdId_;
249  Binary8 execRefId_;
250  Side::Enum side_;
251  BaseLiquidityIndicator::Enum baseLiquidityIndicator_;
252  Alpha<4> clearingFirm_;
253  Alpha<4> clearingAccount_;
254  Binary4 lastShares_;
255  BinaryPrice lastPx_;
256  BinaryPrice correctedPrice_;
257  DateTime origTime_;
258  Alphanumeric<8> symbol_;
259  Capacity::Enum capacity_;
260  Date maturityDate_;
261  OpenClose::Enum openClose_;
262  Binary4 cMTANumber_;
263  };
264 
265  /// Serializes object into string.
266  ONIXS_CBOE_CFE_BOE_API void toStr(std::string&, const MutableTradeCancelOrCorrect&);
267 
268  /// Serializes object into string.
269  inline std::string toStr(const MutableTradeCancelOrCorrect& msg)
270  {
271  std::string str;
272  toStr(str, msg);
273  return str;
274  }
275 
276 }
277 }
278 }
279 }
280 }
void transactionTime(DateTime value)
The time the event occurred in the CFE Matching Engine (not the time the message was sent)...
OpenClose::Enum openClose() const
Indic ates status of client position in a trade resulting from the order.
Used to provide notification that a trade has been cancelled (busted) or corrected (price change only...
Provides efficient way of accessing text-based field values.
Definition: String.h:45
void baseLiquidityIndicator(BaseLiquidityIndicator::Enum value)
Indicates whether the trade added or removed liquidity.
void openClose(OpenClose::Enum value)
Indic ates status of client position in a trade resulting from the order.
DateTime transactionTime() const
The time the event occurred in the CFE Matching Engine (not the time the message was sent)...
BinaryPrice correctedPrice() const
For trade corrections, this is the new trade price.
DateTime origTime() const
The date and time of the original trade, in GMT.
void correctedPrice(BinaryPrice value)
For trade corrections, this is the new trade price.
void execRefId(Binary8 value)
Refers to the ExecId of the fill being cancelled or corrected.
void symbol(StrRef value)
CFE native identifier of the instrument.
#define ONIXS_BATS_BOE_NOEXCEPT
Definition: ABI.h:49
MessageType::Enum type() const ONIXS_BATS_BOE_NOEXCEPT ONIXS_BATS_BOE_OVERRIDE
Returns message type.
Base class for outgoing messages.
void origTime(DateTime value)
The date and time of the original trade, in GMT.
ONIXS_CBOE_CFE_BOE_API void toStr(std::string &, const ConstantNewOrderV2 &)
Serializes object into string.
Binary8 execRefId() const
Refers to the ExecId of the fill being cancelled or corrected.
BaseLiquidityIndicator::Enum baseLiquidityIndicator() const
Indicates whether the trade added or removed liquidity.
void cMTANumber(Binary4 value)
CMTA Number of the firm that will clear the trade.
Binary4 cMTANumber() const
CMTA Number of the firm that will clear the trade.
StrRef symbol() const
CFE native identifier of the instrument.