OnixS C++ FMX UST BIMP Market Data Handler 1.2.0
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
66
73
80
87
94
101
103 bool visibilityGroup(Integer1& value) const
105 {
106 if (binarySize() < 55 + sizeof(Integer1))
107 return false;
108
109 value = ordinary<Integer1>(55);
110 return true;
111 }
112
114 bool position(Integer2& value) const
116 {
117 if (binarySize() < 56 + sizeof(Integer2))
118 return false;
119
120 value = ordinary<Integer2>(56);
121 return true;
122 }
123
126
129
131 static void validateSize(MessageSize size)
132 {
133 if (ONIXS_FMXUST_BIMP_CHECK_EXPECT((size < minMessageSize_), false))
134 throwIncorrectSize("AddOrder", size, minMessageSize_);
135 }
136
138 AddOrderMsg(const void* data, MessageSize size)
140 : BinaryMessage(data, size)
141 {
142 }
143 };
144
146 ONIXS_FMXUST_BIMP_API void toStr(std::string&, const AddOrderMsg&);
147
149 inline std::string toStr(const AddOrderMsg& msg)
150 {
151 std::string str;
152 toStr(str, msg);
153 return str;
154 }
155
156}
157}
158}
159}
#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 Fenics USTre...
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:75
Integer8 instrumentId() const ONIXS_FMXUST_BIMP_NOTHROW
Instrument Identification Number.
Definition AddOrder.h:82
Integer8 orderReferenceNumber() const ONIXS_FMXUST_BIMP_NOTHROW
The Fenics USTreasuries generated identifier for this order.
Definition AddOrder.h:61
Side::Enum buySellIndicator() const ONIXS_FMXUST_BIMP_NOTHROW
Buy/Sell Indicator.
Definition AddOrder.h:68
Integer8 trackingNumber() const ONIXS_FMXUST_BIMP_NOTHROW
Fenics USTreasuries internal tracking/sequence number.
Definition AddOrder.h:46
bool visibilityGroup(Integer1 &value) const ONIXS_FMXUST_BIMP_NOTHROW
A number indicating which visibility group an order is directed to, not applicable to all feeds.
Definition AddOrder.h:103
SignedInteger8 price() const ONIXS_FMXUST_BIMP_NOTHROW
Current price of the order.
Definition AddOrder.h:89
static void validateSize(MessageSize size)
Check the given size.
Definition AddOrder.h:131
AddOrderMsg(const void *data, MessageSize size) ONIXS_FMXUST_BIMP_NOTHROW
Initializes instance over given memory block.
Definition AddOrder.h:138
static ONIXS_FMXUST_BIMP_CONST_OR_CONSTEXPR MessageSize messageSize_
Total message size.
Definition AddOrder.h:125
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:96
bool position(Integer2 &value) const ONIXS_FMXUST_BIMP_NOTHROW
A number identifying a position in the order book stack.
Definition AddOrder.h:114
static ONIXS_FMXUST_BIMP_CONST_OR_CONSTEXPR MessageSize minMessageSize_
Min message size.
Definition AddOrder.h:128