OnixS C++ CBOE CFE Binary Order Entry (BOE) Handler  1.11.0
API documentation
QuoteUpdateOptionUSFutures.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 QuoteUpdateOptionUSFutures : 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::QuoteUpdateOptionUSFutures; };
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 QuoteUpdateOptionUSFutures&);
215 
216  /// Serializes object into string.
217  inline std::string toStr(const QuoteUpdateOptionUSFutures& msg)
218  {
219  std::string str;
220  toStr(str, msg);
221  return str;
222  }
223 
224 }
225 }
226 }
227 }
void clearingFirm(StrRef value)
EFID that will clear the trade.
void sizeModifier(SizeModifier::Enum value)
Controls the behavior of the quote OrderQty field.
MessageType::Enum type() const ONIXS_BATS_BOE_NOEXCEPT ONIXS_BATS_BOE_OVERRIDE
Returns message type.
ManualOrderIndicator::Enum manualOrderIndicator() const
Manual order indicator.
Provides efficient way of accessing text-based field values.
Definition: String.h:45
void manualOrderIndicator(ManualOrderIndicator::Enum value)
Manual order indicator.
void clearingAccount(StrRef value)
Supplemental identifier.
StrRef clearingFirm() const
EFID that will clear the trade.
void customGroupId(Binary2 value)
Used to group orders for use in mass cancels where multiple orders can be cancelled by specifying a l...
void oEOID(StrRef value)
Identifies the Order Entry Operator responsible for this message.
void toStr(std::string &str, const FixedPointDecimal< Mantissa, Exponent > &number)
Serializes fixed-point decimal into a string.
Definition: Decimal.h:156
StrRef oEOID() const
Identifies the Order Entry Operator responsible for this message.
void account(StrRef value)
Unique account identifier associated with an order.
Binary4 cMTANumber() const
CMTA Number of the firm that will clear the trade.
SizeModifier::Enum sizeModifier() const
Controls the behavior of the quote OrderQty field.
Base class for outgoing messages.
Binary2 customGroupId() const
Used to group orders for use in mass cancels where multiple orders can be cancelled by specifying a l...
void quoteUpdateId(StrRef value)
Id chosen by the client.
const std::vector< Quote > & quotes() const
Quotes.
void cMTANumber(Binary4 value)
CMTA Number of the firm that will clear the trade.
StrRef account() const
Unique account identifier associated with an order.