OnixS C++ HKEX OMD-C Handler 1.0.0
API documentation
Loading...
Searching...
No Matches
TradingSessionStatus.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 HKEX {
32namespace MarketData {
33namespace Omdc {
34
37 {
39 UInt16 msgSize() const
41 {
42 return ordinary<UInt16>(0);
43 }
44
46 UInt16 msgType() const
48 {
49 return ordinary<UInt16>(2);
50 }
51
55 {
56 return fixedStr<4>(4);
57 }
58
60 UInt8 tradingSessionSubID() const
62 {
63 return ordinary<UInt8>(9);
64 }
65
67 UInt8 tradingSesStatus() const
69 {
70 return ordinary<UInt8>(10);
71 }
72
79
81 UInt64 startDateTime() const
83 {
84 return ordinary<UInt64>(16);
85 }
86
88 UInt64 endDateTime() const
90 {
91 return ordinary<UInt64>(24);
92 }
93
96
98 static void validateSize(MessageSize size)
99 {
100 if ONIXS_HKEX_OMDC_UNLIKELY(size < messageSize_)
101 throwIncorrectSize("TradingSessionStatus", size, messageSize_);
102 }
103
105 TradingSessionStatusMsg(const void* data, MessageSize size)
107 : BinaryMessage(data, size)
108 {
109 }
110 };
111
113 ONIXS_HKEX_OMDC_API void toStr(std::string&, const TradingSessionStatusMsg&);
114
116 inline std::string toStr(const TradingSessionStatusMsg& msg)
117 {
118 std::string str;
119 toStr(str, msg);
120 return str;
121 }
122
123}
124}
125}
126}
#define ONIXS_HKEX_OMDC_CONST_OR_CONSTEXPR
Definition Compiler.h:171
#define ONIXS_HKEX_OMDC_NOTHROW
Definition Compiler.h:169
BinaryMessage() noexcept
Initializes blank instance referencing to nothing.
Provides efficient way of accessing text-based FIX field values.
Definition String.h:46
ONIXS_HKEX_OMDC_API void toStr(std::string &, Side::Enum)
Appends string presentation of object.
UInt16 MessageSize
Aliases message length type.
Definition Defines.h:93
ONIXS_HKEX_OMDC_API void throwIncorrectSize(const std::string &messageName, MessageSize receivedSize, MessageSize expectedSize)
TradingSessionStatusMsg(const void *data, MessageSize size) noexcept
Initializes instance over given memory block.
UInt8 tradingSesStatus() const noexcept
Status of the current trading session.
UInt64 startDateTime() const noexcept
Start time of the trading status.
UInt64 endDateTime() const noexcept
End time of the trading status.
UInt16 msgSize() const noexcept
Size of the message.
StrRef tradingSesControlFlag() const noexcept
Indicates how control of trading session and sub-session transitions are performed.
static constexpr MessageSize messageSize_
Total message size.
UInt8 tradingSessionSubID() const noexcept
Trading session sub-identifier.
static void validateSize(MessageSize size)
Check the given size.
StrRef marketCode() const noexcept
Market segment identifier.