OnixS C++ FMX UST BIMP Market Data Handler 1.4.1
API documentation
Loading...
Searching...
No Matches
AddOrder.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
30namespace OnixS {
31namespace FmxUST {
32namespace MarketData {
33namespace Bimp {
34
36 struct AddOrderMsg : public BinaryMessage
37 {
44
51
59
67
74
81
88
95
99 {
100 return ordinary<Integer1>(54);
101 }
102
105 bool visibilityGroup(Integer1& value) const
107 {
108 if (binarySize() < 55 + sizeof(Integer1))
109 return false;
110
111 value = ordinary<Integer1>(55);
112 return true;
113 }
114
116 bool position(Integer2& value) const
118 {
119 if (binarySize() < 56 + sizeof(Integer2))
120 return false;
121
122 value = ordinary<Integer2>(56);
123 return true;
124 }
125
128
131
133 static void validateSize(MessageSize size)
134 {
135 if (ONIXS_FMXUST_BIMP_CHECK_EXPECT((size < minMessageSize_), false))
136 throwIncorrectSize("AddOrder", size, minMessageSize_);
137 }
138
140 AddOrderMsg(const void* data, MessageSize size)
142 : BinaryMessage(data, size)
143 {
144 }
145 };
146
148 ONIXS_FMXUST_BIMP_API void toStr(std::string&, const AddOrderMsg&);
149
151 inline std::string toStr(const AddOrderMsg& msg)
152 {
153 std::string str;
154 toStr(str, msg);
155 return str;
156 }
157
158}
159}
160}
161}
#define ONIXS_FMXUST_BIMP_NOTHROW
Definition Compiler.h:108
#define ONIXS_FMXUST_BIMP_CONST_OR_CONSTEXPR
Definition Compiler.h:111
Enumeration::Enum enumeration(MessageSize offset) const ONIXS_FMXUST_BIMP_NOTHROW
FieldValue ordinary(MessageSize offset) const ONIXS_FMXUST_BIMP_NOTHROW
MessageSize binarySize() const ONIXS_FMXUST_BIMP_NOTHROW
Size of message.
BinaryMessage() ONIXS_FMXUST_BIMP_NOTHROW
Initializes blank instance referencing to nothing.
ONIXS_FMXUST_BIMP_API ONIXS_FMXUST_BIMP_COLDPATH ONIXS_FMXUST_BIMP_NORETURN void throwIncorrectSize(const std::string &messageName, MessageSize receivedSize, MessageSize expectedSize)
Integer2 MessageSize
Aliases message length type.
Definition Defines.h:100
ONIXS_FMXUST_BIMP_API void toStr(std::string &, EventCode::Enum)
Appends string presentation of object.
The Add Order message is used to communicate that a new order has been accepted into the FMX order bo...
Definition AddOrder.h:37
Integer8 timestamp() const ONIXS_FMXUST_BIMP_NOTHROW
Definition AddOrder.h:54
Integer8 orderQuantity() const ONIXS_FMXUST_BIMP_NOTHROW
Total current nominal quantity of the order.
Definition AddOrder.h:76
Integer8 instrumentId() const ONIXS_FMXUST_BIMP_NOTHROW
Instrument Identification Number.
Definition AddOrder.h:83
Integer8 orderReferenceNumber() const ONIXS_FMXUST_BIMP_NOTHROW
Definition AddOrder.h:62
Side::Enum buySellIndicator() const ONIXS_FMXUST_BIMP_NOTHROW
Buy/Sell Indicator.
Definition AddOrder.h:69
Integer8 trackingNumber() const ONIXS_FMXUST_BIMP_NOTHROW
FMX internal tracking/sequence number.
Definition AddOrder.h:46
bool visibilityGroup(Integer1 &value) const ONIXS_FMXUST_BIMP_NOTHROW
Definition AddOrder.h:105
SignedInteger8 price() const ONIXS_FMXUST_BIMP_NOTHROW
Current price of the order.
Definition AddOrder.h:90
static void validateSize(MessageSize size)
Check the given size.
Definition AddOrder.h:133
AddOrderMsg(const void *data, MessageSize size) ONIXS_FMXUST_BIMP_NOTHROW
Initializes instance over given memory block.
Definition AddOrder.h:140
static ONIXS_FMXUST_BIMP_CONST_OR_CONSTEXPR MessageSize messageSize_
Total message size.
Definition AddOrder.h:127
Integer4 instrumentLocate() const ONIXS_FMXUST_BIMP_NOTHROW
Instrument locate code identifying the instrument.
Definition AddOrder.h:39
Integer1 orderFlags() const ONIXS_FMXUST_BIMP_NOTHROW
A bitmap with each bit carrying a specific meaning.
Definition AddOrder.h:97
bool position(Integer2 &value) const ONIXS_FMXUST_BIMP_NOTHROW
A number identifying a position in the order book stack.
Definition AddOrder.h:116
static ONIXS_FMXUST_BIMP_CONST_OR_CONSTEXPR MessageSize minMessageSize_
Min message size.
Definition AddOrder.h:130