OnixS C++ CBOE CFE Binary Order Entry (BOE) Handler  1.11.0
API documentation
MutableVarianceQuoteRestatement.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  /// A Variance Quote Restatement is sent post-settlement time for each VA and VAO execution during the associated business day to communicate updated Price, Size, and Symbol values associated with the cleared execution.
37  struct ONIXS_CBOE_CFE_BOE_API MutableVarianceQuoteRestatement : 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 quote being restated
53  {
54  return quoteUpdateId_;
55  }
56 
57  /// The quote being restated
58  void quoteUpdateId(StrRef value)
59  {
60  quoteUpdateId_ = value;
61  }
62 
63  /// Sent to the OCC in the Trade Id field.
64  Binary8 execId() const
65  {
66  return execId_;
67  }
68 
69  /// Sent to the OCC in the Trade Id field.
70  void execId(Binary8 value)
71  {
72  execId_ = value;
73  }
74 
75  /// CFE native identifier of the instrument being quoted.
77  {
78  return quoteSymbol_;
79  }
80 
81  /// CFE native identifier of the instrument being quoted.
82  void quoteSymbol(StrRef value)
83  {
84  quoteSymbol_ = value;
85  }
86 
87  /// Symbol as sent to clearing; after applying post-close conversions to the original Symbol.
89  {
90  return clearingSymbol_;
91  }
92 
93  /// Symbol as sent to clearing; after applying post-close conversions to the original Symbol.
94  void clearingSymbol(StrRef value)
95  {
96  clearingSymbol_ = value;
97  }
98 
99  /// Price as sent to clearing after applying post-close conversions to the original LastPx value.
101  {
102  return clearingPrice_;
103  }
104 
105  /// Price as sent to clearing after applying post-close conversions to the original LastPx value.
107  {
108  clearingPrice_ = value;
109  }
110 
111  /// Size to clear with OCC.
113  {
114  return clearingSize_;
115  }
116 
117  /// Size to clear with OCC.
118  void clearingSize(Binary4 value)
119  {
120  clearingSize_ = value;
121  }
122 
123  /// Returns message type
124  MessageType::Enum type() const ONIXS_BATS_BOE_NOEXCEPT ONIXS_BATS_BOE_OVERRIDE { return MessageType::VarianceQuoteRestatement; };
125 
126  /// Validates message data
127  /// Throws std::invalid_argument exception if message content is invalid.
128  void validate() const ONIXS_BATS_BOE_OVERRIDE;
129 
130  /// Returns the text representation
131  std::string toString() const ONIXS_BATS_BOE_OVERRIDE;
132 
133  /// The text representation
134  void toString(std::string& str) const ONIXS_BATS_BOE_OVERRIDE;
135 
136  private:
137  size_t serializeTo(unsigned char*) const ONIXS_BATS_BOE_NOEXCEPT ONIXS_BATS_BOE_OVERRIDE;
138 
139  DateTime transactionTime_;
140  Text<16> quoteUpdateId_;
141  Binary8 execId_;
142  Alphanumeric<6> quoteSymbol_;
143  Alphanumeric<8> clearingSymbol_;
144  BinaryPrice clearingPrice_;
145  Binary4 clearingSize_;
146  };
147 
148  /// Serializes object into string.
149  ONIXS_CBOE_CFE_BOE_API void toStr(std::string&, const MutableVarianceQuoteRestatement&);
150 
151  /// Serializes object into string.
152  inline std::string toStr(const MutableVarianceQuoteRestatement& msg)
153  {
154  std::string str;
155  toStr(str, msg);
156  return str;
157  }
158 
159 }
160 }
161 }
162 }
163 }
DateTime transactionTime() const
The time the event occurred in the CFE Matching Engine (not the time the message was sent)...
StrRef quoteSymbol() const
CFE native identifier of the instrument being quoted.
void quoteSymbol(StrRef value)
CFE native identifier of the instrument being quoted.
Provides efficient way of accessing text-based field values.
Definition: String.h:45
void transactionTime(DateTime value)
The time the event occurred in the CFE Matching Engine (not the time the message was sent)...
StrRef clearingSymbol() const
Symbol as sent to clearing; after applying post-close conversions to the original Symbol...
BinaryPrice clearingPrice() const
Price as sent to clearing after applying post-close conversions to the original LastPx value...
void execId(Binary8 value)
Sent to the OCC in the Trade Id field.
void clearingPrice(BinaryPrice value)
Price as sent to clearing after applying post-close conversions to the original LastPx value...
void clearingSymbol(StrRef value)
Symbol as sent to clearing; after applying post-close conversions to the original Symbol...
A Variance Quote Restatement is sent post-settlement time for each VA and VAO execution during the as...
Base class for outgoing messages.
ONIXS_CBOE_CFE_BOE_API void toStr(std::string &, const ConstantNewOrderV2 &)
Serializes object into string.
MessageType::Enum type() const ONIXS_BATS_BOE_NOEXCEPT ONIXS_BATS_BOE_OVERRIDE
Returns message type.