OnixS C++ CBOE CFE Binary Order Entry (BOE) Handler  1.12.0
API documentation
MutableQuoteRestated.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  /// Quote Restated messages are sent to inform the TPH that an order has been asynchronously modified for some reason by CFE.
37  struct ONIXS_CBOE_CFE_BOE_API MutableQuoteRestated : 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  /// Id chosen by the client.
53  {
54  return quoteUpdateId_;
55  }
56 
57  /// Id chosen by the client.
58  void quoteUpdateId(StrRef value)
59  {
60  quoteUpdateId_ = value;
61  }
62 
63  /// Order identifier supplied by CFE.
64  Binary8 orderId() const
65  {
66  return orderId_;
67  }
68 
69  /// Order identifier supplied by CFE.
70  void orderId(Binary8 value)
71  {
72  orderId_ = value;
73  }
74 
75  /// Quantity still open for further execution.
77  {
78  return leavesQty_;
79  }
80 
81  /// Quantity still open for further execution.
82  void leavesQty(Binary4 value)
83  {
84  leavesQty_ = value;
85  }
86 
87  /// The price at which the quote is working on the order book.
89  {
90  return workingPrice_;
91  }
92 
93  /// The price at which the quote is working on the order book.
95  {
96  workingPrice_ = value;
97  }
98 
99  /// CFE native identifier of the instrument being quoted.
101  {
102  return quoteSymbol_;
103  }
104 
105  /// CFE native identifier of the instrument being quoted.
106  void quoteSymbol(StrRef value)
107  {
108  quoteSymbol_ = value;
109  }
110 
111  /// Side
112  Side::Enum side() const
113  {
114  return side_;
115  }
116 
117  /// Side
118  void side(Side::Enum value)
119  {
120  side_ = value;
121  }
122 
123  /// The reason for this Quote Restated message.
125  {
126  return restatementReason_;
127  }
128 
129  /// The reason for this Quote Restated message.
131  {
132  restatementReason_ = value;
133  }
134 
135  /// Returns message type
136  MessageType::Enum type() const ONIXS_BATS_BOE_NOEXCEPT ONIXS_BATS_BOE_OVERRIDE { return MessageType::QuoteRestated; };
137 
138  /// Validates message data
139  /// Throws std::invalid_argument exception if message content is invalid.
140  void validate() const ONIXS_BATS_BOE_OVERRIDE;
141 
142  /// Returns the text representation
143  std::string toString() const ONIXS_BATS_BOE_OVERRIDE;
144 
145  /// The text representation
146  void toString(std::string& str) const ONIXS_BATS_BOE_OVERRIDE;
147 
148  private:
149  size_t serializeTo(unsigned char*) const ONIXS_BATS_BOE_NOEXCEPT ONIXS_BATS_BOE_OVERRIDE;
150 
151  DateTime transactionTime_;
152  Text<16> quoteUpdateId_;
153  Binary8 orderId_;
154  Binary4 leavesQty_;
155  BinaryPrice workingPrice_;
156  Alphanumeric<6> quoteSymbol_;
157  Side::Enum side_;
158  RestatementReason::Enum restatementReason_;
159  };
160 
161  /// Serializes object into string.
162  ONIXS_CBOE_CFE_BOE_API void toStr(std::string&, const MutableQuoteRestated&);
163 
164  /// Serializes object into string.
165  inline std::string toStr(const MutableQuoteRestated& msg)
166  {
167  std::string str;
168  toStr(str, msg);
169  return str;
170  }
171 
172 }
173 }
174 }
175 }
176 }
Binary4 leavesQty() const
Quantity still open for further execution.
void restatementReason(RestatementReason::Enum value)
The reason for this Quote Restated message.
Provides efficient way of accessing text-based field values.
Definition: String.h:45
StrRef quoteSymbol() const
CFE native identifier of the instrument being quoted.
RestatementReason::Enum restatementReason() const
The reason for this Quote Restated message.
BinaryPrice workingPrice() const
The price at which the quote is working on the order book.
Quote Restated messages are sent to inform the TPH that an order has been asynchronously modified for...
MessageType::Enum type() const ONIXS_BATS_BOE_NOEXCEPT ONIXS_BATS_BOE_OVERRIDE
Returns message type.
Binary8 orderId() const
Order identifier supplied by CFE.
void leavesQty(Binary4 value)
Quantity still open for further execution.
void workingPrice(BinaryPrice value)
The price at which the quote is working on the order book.
void quoteUpdateId(StrRef value)
Id chosen by the client.
void quoteSymbol(StrRef value)
CFE native identifier of the instrument being quoted.
#define ONIXS_BATS_BOE_NOEXCEPT
Definition: ABI.h:49
StrRef quoteUpdateId() const
Id chosen by the client.
Base class for outgoing messages.
DateTime transactionTime() const
The time the event occurred in the CFE Matching Engine (not the time the message was sent)...
ONIXS_CBOE_CFE_BOE_API void toStr(std::string &, const ConstantNewOrderV2 &)
Serializes object into string.
void transactionTime(DateTime value)
The time the event occurred in the CFE Matching Engine (not the time the message was sent)...
void orderId(Binary8 value)
Order identifier supplied by CFE.