OnixS C++ CBOE CFE Binary Order Entry (BOE) Handler  1.12.0
API documentation
QuoteUpdate.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 #include <OnixS/CboeCFE/Trading/BOE/Messages/Out/QuoteUpdate.Quote.h>
29 
30 
31 namespace OnixS {
32 namespace CboeCFE {
33 namespace Trading {
34 namespace BOE {
35 
36  /// Quote Update
37  struct ONIXS_CBOE_CFE_BOE_API QuoteUpdate : public OutgoingMessage
38  {
39  /// Id chosen by the client.
41  {
42  return quoteUpdateId_;
43  }
44 
45  /// Id chosen by the client.
46  void quoteUpdateId(StrRef value)
47  {
48  quoteUpdateId_ = value;
49  }
50 
51  /// EFID that will clear the trade.
53  {
54  return clearingFirm_;
55  }
56 
57  /// EFID that will clear the trade.
58  void clearingFirm(StrRef value)
59  {
60  clearingFirm_ = value;
61  }
62 
63  /// Supplemental identifier.
65  {
66  return clearingAccount_;
67  }
68 
69  /// Supplemental identifier.
70  void clearingAccount(StrRef value)
71  {
72  clearingAccount_ = value;
73  }
74 
75  /// CMTA Number of the firm that will clear the trade.
77  {
78  return cMTANumber_;
79  }
80 
81  /// CMTA Number of the firm that will clear the trade.
82  void cMTANumber(Binary4 value)
83  {
84  cMTANumber_ = value;
85  }
86 
87  /// Unique account identifier associated with an order.
88  StrRef account() const
89  {
90  return account_;
91  }
92 
93  /// Unique account identifier associated with an order.
94  void account(StrRef value)
95  {
96  account_ = value;
97  }
98 
99  /// Used to group orders for use in mass cancels where multiple orders can be cancelled by specifying a list of CustomGroupIds.
101  {
102  return customGroupId_;
103  }
104 
105  /// Used to group orders for use in mass cancels where multiple orders can be cancelled by specifying a list of CustomGroupIds.
106  void customGroupId(Binary2 value)
107  {
108  customGroupId_ = value;
109  }
110 
111  /// Capacity
113  {
114  return capacity_;
115  }
116 
117  /// Capacity
119  {
120  capacity_ = value;
121  }
122 
123  /// Cti code
125  {
126  return ctiCode_;
127  }
128 
129  /// Cti code
130  void ctiCode(CtiCode::Enum value)
131  {
132  ctiCode_ = value;
133  }
134 
135  /// Manual order indicator.
137  {
138  return manualOrderIndicator_;
139  }
140 
141  /// Manual order indicator.
143  {
144  manualOrderIndicator_ = value;
145  }
146 
147  /// Identifies the Order Entry Operator responsible for this message.
148  StrRef oEOID() const
149  {
150  return oEOID_;
151  }
152 
153  /// Identifies the Order Entry Operator responsible for this message.
154  void oEOID(StrRef value)
155  {
156  oEOID_ = value;
157  }
158 
159  /// Controls the behavior of the quote OrderQty field.
161  {
162  return sizeModifier_;
163  }
164 
165  /// Controls the behavior of the quote OrderQty field.
167  {
168  sizeModifier_ = value;
169  }
170 
171  ///Quotes.
172  const std::vector<Quote>& quotes() const
173  {
174  return quotes_;
175  }
176 
177  ///Quotes.
178  std::vector<Quote>& quotes()
179  {
180  return quotes_;
181  }
182 
183  /// Returns message type
184  MessageType::Enum type() const ONIXS_BATS_BOE_NOEXCEPT ONIXS_BATS_BOE_OVERRIDE { return MessageType::QuoteUpdate; };
185 
186  /// Validates message data
187  /// Throws std::invalid_argument exception if message content is invalid.
188  void validate() const ONIXS_BATS_BOE_OVERRIDE;
189 
190  /// Returns the text representation
191  std::string toString() const ONIXS_BATS_BOE_OVERRIDE;
192 
193  /// The text representation
194  void toString(std::string& str) const ONIXS_BATS_BOE_OVERRIDE;
195 
196  private:
197  size_t serializeTo(unsigned char*) const ONIXS_BATS_BOE_NOEXCEPT ONIXS_BATS_BOE_OVERRIDE;
198 
199  Text<16> quoteUpdateId_;
200  Alpha<4> clearingFirm_;
201  Alpha<4> clearingAccount_;
202  Binary4 cMTANumber_;
203  Text<16> account_;
204  Binary2 customGroupId_;
205  Capacity::Enum capacity_;
206  CtiCode::Enum ctiCode_;
207  ManualOrderIndicator::Enum manualOrderIndicator_;
208  Text<18> oEOID_;
209  SizeModifier::Enum sizeModifier_;
210  std::vector<Quote> quotes_;
211  };
212 
213  /// Serializes object into string.
214  ONIXS_CBOE_CFE_BOE_API void toStr(std::string&, const QuoteUpdate&);
215 
216  /// Serializes object into string.
217  inline std::string toStr(const QuoteUpdate& msg)
218  {
219  std::string str;
220  toStr(str, msg);
221  return str;
222  }
223 
224 }
225 }
226 }
227 }
void quoteUpdateId(StrRef value)
Id chosen by the client.
Definition: QuoteUpdate.h:46
std::vector< Quote > & quotes()
Quotes.
Definition: QuoteUpdate.h:178
StrRef quoteUpdateId() const
Id chosen by the client.
Definition: QuoteUpdate.h:40
StrRef clearingFirm() const
EFID that will clear the trade.
Definition: QuoteUpdate.h:52
SizeModifier::Enum sizeModifier() const
Controls the behavior of the quote OrderQty field.
Definition: QuoteUpdate.h:160
void cMTANumber(Binary4 value)
CMTA Number of the firm that will clear the trade.
Definition: QuoteUpdate.h:82
CtiCode::Enum ctiCode() const
Cti code.
Definition: QuoteUpdate.h:124
StrRef oEOID() const
Identifies the Order Entry Operator responsible for this message.
Definition: QuoteUpdate.h:148
Provides efficient way of accessing text-based field values.
Definition: String.h:45
MessageType::Enum type() const ONIXS_BATS_BOE_NOEXCEPT ONIXS_BATS_BOE_OVERRIDE
Returns message type.
Definition: QuoteUpdate.h:184
void clearingFirm(StrRef value)
EFID that will clear the trade.
Definition: QuoteUpdate.h:58
void capacity(Capacity::Enum value)
Capacity.
Definition: QuoteUpdate.h:118
void account(StrRef value)
Unique account identifier associated with an order.
Definition: QuoteUpdate.h:94
void toStr(std::string &str, const FixedPointDecimal< Mantissa, Exponent > &number)
Serializes fixed-point decimal into a string.
Definition: Decimal.h:156
StrRef clearingAccount() const
Supplemental identifier.
Definition: QuoteUpdate.h:64
ManualOrderIndicator::Enum manualOrderIndicator() const
Manual order indicator.
Definition: QuoteUpdate.h:136
StrRef account() const
Unique account identifier associated with an order.
Definition: QuoteUpdate.h:88
const std::vector< Quote > & quotes() const
Quotes.
Definition: QuoteUpdate.h:172
void customGroupId(Binary2 value)
Used to group orders for use in mass cancels where multiple orders can be cancelled by specifying a l...
Definition: QuoteUpdate.h:106
void manualOrderIndicator(ManualOrderIndicator::Enum value)
Manual order indicator.
Definition: QuoteUpdate.h:142
void sizeModifier(SizeModifier::Enum value)
Controls the behavior of the quote OrderQty field.
Definition: QuoteUpdate.h:166
Capacity::Enum capacity() const
Capacity.
Definition: QuoteUpdate.h:112
#define ONIXS_BATS_BOE_NOEXCEPT
Definition: ABI.h:49
Base class for outgoing messages.
void ctiCode(CtiCode::Enum value)
Cti code.
Definition: QuoteUpdate.h:130
void clearingAccount(StrRef value)
Supplemental identifier.
Definition: QuoteUpdate.h:70
void oEOID(StrRef value)
Identifies the Order Entry Operator responsible for this message.
Definition: QuoteUpdate.h:154
Binary2 customGroupId() const
Used to group orders for use in mass cancels where multiple orders can be cancelled by specifying a l...
Definition: QuoteUpdate.h:100
Binary4 cMTANumber() const
CMTA Number of the firm that will clear the trade.
Definition: QuoteUpdate.h:76