OnixS BME SENAF Handler C++ library 2.3.0
API documentation
Loading...
Searching...
No Matches
GenericHighPriorityMessage.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
5 * copyright law and international copyright treaties.
6 *
7 * Access to and use of the software is governed by the terms of the applicable
8 * ONIXS Software Services Agreement (the Agreement) and Customer end user
9 * license agreements granting a non-assignable, non-transferable and
10 * non-exclusive license to use the software for it's own data processing
11 * purposes under the terms defined in the Agreement.
12 *
13 * Except as otherwise granted within the terms of the Agreement, copying or
14 * reproduction of any part of this source code or associated reference material
15 * to any other location for further reproduction or redistribution, and any
16 * amendments to this copyright notice, are expressly prohibited.
17 *
18 * Any reproduction or redistribution for sale or hiring of the Software not in
19 * accordance with the terms of the Agreement is a violation of copyright law.
20 */
21
22#pragma once
23
25#include <OnixS/Senaf/MarketData/Export.h>
27
28#include <iosfwd>
29#include <string>
30
31namespace OnixS { namespace Senaf { namespace MarketData {
32
34struct ONIXS_BME_SENAF_EXPORT GenericHighPriorityMessage
35{
37 enum
38 {
39 code = 102
40 };
41
44
48 unsigned char market;
49
52
56 unsigned short reference;
57
59 unsigned char source;
60
62 unsigned char recipient;
63
67 unsigned char member;
68
72 unsigned char session;
73
75 unsigned char user;
76
78 unsigned char subtype;
79
82 {
86 Subtype001(const std::string& inMessage)
87 : message(inMessage)
88 {
89 }
90
92 std::string message;
93 };
94
97
102 {
107 Subtype002(bool inTerminalActivated, unsigned char inChecksum)
108 : terminalActivated(inTerminalActivated)
109 , checksum(inChecksum)
110 {
111 }
112
115
117 unsigned char checksum;
118 };
119
122
128 {
133 Subtype003(bool inReferenceActivated, unsigned char inChecksum)
134 : referenceActivated(inReferenceActivated)
135 , checksum(inChecksum)
136 {
137 }
138
141
143 unsigned char checksum;
144 };
145
148
150 std::string toString() const;
151
152private:
154 GenericHighPriorityMessage(const char* data, size_t dataSize);
155 void deserialize(const char* data, size_t dataSize);
156 void reset();
157};
158
160ONIXS_BME_SENAF_EXPORT std::ostream& operator<<(std::ostream&, const GenericHighPriorityMessage&);
161
162}}} // namespace OnixS::Senaf::MarketData
std::ostream & operator<<(std::ostream &, const Error &)
Make it printable to formatted C++ I/O streams.
Subtype002(bool inTerminalActivated, unsigned char inChecksum)
Subtype003(bool inReferenceActivated, unsigned char inChecksum)
std::string toString() const
Returns string representation.
Optional< Subtype001 > subtype001
Text message. General information data.
Optional< Subtype003 > subtype003
Reference or Market Activate / Block Message.
Optional< Subtype002 > subtype002
Terminal Activate / Block Message.
unsigned char recipient
Recipient of the message. Server, Terminal, API, F-E,…
InstrumentType::Enum instrumentType
Instrument Type. Tabulated for each market.