OnixS C++ CBOE CFE Binary Order Entry (BOE) Handler  1.12.0
API documentation
MutableOrderCancelled.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  /// Order cancelled
37  struct ONIXS_CBOE_CFE_BOE_API MutableOrderCancelled : 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 cancelled.
52  StrRef clOrdId() const
53  {
54  return clOrdId_;
55  }
56 
57  /// The order which was cancelled.
58  void clOrdId(StrRef value)
59  {
60  clOrdId_ = value;
61  }
62 
63  /// EFID that would clear the trade.
65  {
66  return clearingFirm_;
67  }
68 
69  /// EFID that would clear the trade.
70  void clearingFirm(StrRef value)
71  {
72  clearingFirm_ = value;
73  }
74 
75  /// Cancel reason
77  {
78  return cancelReason_;
79  }
80 
81  /// Cancel reason
83  {
84  cancelReason_ = value;
85  }
86 
87  /// The earliest timestamp, populated with nanosecond precision, recorded by CFE of the corresponding inbound message being acknowledged.
89  {
90  return requestReceivedTime_;
91  }
92 
93  /// The earliest timestamp, populated with nanosecond precision, recorded by CFE of the corresponding inbound message being acknowledged.
95  {
96  requestReceivedTime_ = value;
97  }
98 
99  /// Returns message type
100  MessageType::Enum type() const ONIXS_BATS_BOE_NOEXCEPT ONIXS_BATS_BOE_OVERRIDE { return MessageType::OrderCancelled; };
101 
102  /// Validates message data
103  /// Throws std::invalid_argument exception if message content is invalid.
104  void validate() const ONIXS_BATS_BOE_OVERRIDE;
105 
106  /// Returns the text representation
107  std::string toString() const ONIXS_BATS_BOE_OVERRIDE;
108 
109  /// The text representation
110  void toString(std::string& str) const ONIXS_BATS_BOE_OVERRIDE;
111 
112  private:
113  size_t serializeTo(unsigned char*) const ONIXS_BATS_BOE_NOEXCEPT ONIXS_BATS_BOE_OVERRIDE;
114 
115  DateTime transactionTime_;
116  Text<20> clOrdId_;
117  Alpha<4> clearingFirm_;
118  OrderReasonCode::Enum cancelReason_;
119  DateTime requestReceivedTime_;
120  };
121 
122  /// Serializes object into string.
123  ONIXS_CBOE_CFE_BOE_API void toStr(std::string&, const MutableOrderCancelled&);
124 
125  /// Serializes object into string.
126  inline std::string toStr(const MutableOrderCancelled& msg)
127  {
128  std::string str;
129  toStr(str, msg);
130  return str;
131  }
132 
133 }
134 }
135 }
136 }
137 }
Provides efficient way of accessing text-based field values.
Definition: String.h:45
void requestReceivedTime(DateTime value)
The earliest timestamp, populated with nanosecond precision, recorded by CFE of the corresponding inb...
void clearingFirm(StrRef value)
EFID that would clear the trade.
OrderReasonCode::Enum cancelReason() const
Cancel reason.
void clOrdId(StrRef value)
The order which was cancelled.
void transactionTime(DateTime value)
The time the event occurred in the CFE Matching Engine (not the time the message was sent)...
void cancelReason(OrderReasonCode::Enum value)
Cancel reason.
MessageType::Enum type() const ONIXS_BATS_BOE_NOEXCEPT ONIXS_BATS_BOE_OVERRIDE
Returns message type.
DateTime transactionTime() const
The time the event occurred in the CFE Matching Engine (not the time the message was sent)...
#define ONIXS_BATS_BOE_NOEXCEPT
Definition: ABI.h:49
DateTime requestReceivedTime() const
The earliest timestamp, populated with nanosecond precision, recorded by CFE of the corresponding inb...
Base class for outgoing messages.
ONIXS_CBOE_CFE_BOE_API void toStr(std::string &, const ConstantNewOrderV2 &)
Serializes object into string.
StrRef clearingFirm() const
EFID that would clear the trade.
StrRef clOrdId() const
The order which was cancelled.