OnixS C++ HKEX OMD-C Handler 1.0.0
API documentation
Loading...
Searching...
No Matches
SecurityDefinition.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
29
30
31namespace OnixS {
32namespace HKEX {
33namespace MarketData {
34namespace Omdc {
35
38 {
40 UInt16 msgSize() const
42 {
43 return ordinary<UInt16>(0);
44 }
45
47 UInt16 msgType() const
49 {
50 return ordinary<UInt16>(2);
51 }
52
54 UInt32 securityCode() const
56 {
57 return ordinary<UInt32>(4);
58 }
59
63 {
64 return fixedStr<4>(8);
65 }
66
70 {
71 return fixedStr<12>(12);
72 }
73
77 {
78 return fixedStr<4>(24);
79 }
80
82 UInt8 productType() const
84 {
85 return ordinary<UInt8>(28);
86 }
87
91 {
92 return fixedStr<2>(30);
93 }
94
98 {
99 return fixedStr<40>(32);
100 }
101
105 {
106 return fixedStr<3>(72);
107 }
108
112 {
113 return fixedStr<60>(75);
114 }
115
119 {
120 return fixedStr<60>(135);
121 }
122
124 UInt32 lotSize() const
126 {
127 return ordinary<UInt32>(195);
128 }
129
134 {
135 return ordinary<Int32>(203);
136 }
137
141 {
142 return fixedStr<1>(207);
143 }
144
148 {
149 return fixedStr<1>(208);
150 }
151
155 {
156 return fixedStr<1>(209);
157 }
158
162 {
163 return fixedStr<1>(210);
164 }
165
169 {
170 return fixedStr<1>(211);
171 }
172
176 {
177 return fixedStr<1>(213);
178 }
179
181 UInt32 listingDate() const
183 {
184 return ordinary<UInt32>(215);
185 }
186
188 UInt32 delistingDate() const
190 {
191 return ordinary<UInt32>(219);
192 }
193
197 {
198 return fixedStr<38>(223);
199 }
200
204 {
205 return fixedStr<1>(323);
206 }
207
210 Int32 pOSUpperLimit() const
212 {
213 return ordinary<Int32>(324);
214 }
215
218 Int32 pOSLowerLimit() const
220 {
221 return ordinary<Int32>(328);
222 }
223
227 {
228 return ordinary<UInt32>(336);
229 }
230
234 {
235 return fixedStr<1>(373);
236 }
237
239 UInt32 accruedInterest() const
241 {
242 return ordinary<UInt32>(374);
243 }
244
246 UInt32 couponRate() const
248 {
249 return ordinary<UInt32>(378);
250 }
251
253 UInt64 faceValue() const
255 {
256 return ordinary<UInt64>(383);
257 }
258
262 {
263 return ordinary<UInt8>(391);
264 }
265
269 {
270 return fixedStr<3>(392);
271 }
272
274 UInt32 maturityDate() const
276 {
277 return ordinary<UInt32>(395);
278 }
279
283 {
284 return fixedStr<1>(399);
285 }
286
288 UInt32 conversionRatio() const
290 {
291 return ordinary<UInt32>(444);
292 }
293
296 Int32 strikePrice1() const
298 {
299 return ordinary<Int32>(448);
300 }
301
303 Int32 strikePrice2() const
305 {
306 return ordinary<Int32>(452);
307 }
308
312 {
313 return ordinary<UInt32>(456);
314 }
315
319 {
320 return fixedStr<1>(460);
321 }
322
324 StrRef style() const
326 {
327 return fixedStr<1>(461);
328 }
329
333 {
334 return fixedStr<1>(464);
335 }
336
338 Int32 callPrice() const
340 {
341 return ordinary<Int32>(465);
342 }
343
347 {
348 return ordinary<UInt8>(469);
349 }
350
352 Int32 entitlement() const
354 {
355 return ordinary<Int32>(470);
356 }
357
361 {
362 return ordinary<UInt8>(474);
363 }
364
368 {
369 return ordinary<UInt32>(475);
370 }
371
376 {
377 return ordinary<UInt16>(542);
378 }
379
389
392
394 static void validateSize(MessageSize size)
395 {
396 if ONIXS_HKEX_OMDC_UNLIKELY(size < messageSize_)
397 throwIncorrectSize("SecurityDefinition", size, messageSize_);
398 }
399
401 SecurityDefinitionMsg(const void* data, MessageSize size)
403 : BinaryMessage(data, size)
404 {
405 }
406 };
407
409 ONIXS_HKEX_OMDC_API void toStr(std::string&, const SecurityDefinitionMsg&);
410
412 inline std::string toStr(const SecurityDefinitionMsg& msg)
413 {
414 std::string str;
415 toStr(str, msg);
416 return str;
417 }
418
419}
420}
421}
422}
#define ONIXS_HKEX_OMDC_CONST_OR_CONSTEXPR
Definition Compiler.h:171
#define ONIXS_HKEX_OMDC_NOTHROW
Definition Compiler.h:169
const SubMessage submessage(MessageSize offset, MessageSize size) const noexcept
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)
Int32 pOSLowerLimit() const noexcept
Lower price limit of all orders in POS Order Input period, and At-auction Limit buy order in POS No C...
StrRef instrumentType() const noexcept
Instrument type of the security.
UInt8 decimalsInEntitlement() const noexcept
Number of decimal places in Entitlement.
StrRef style() const noexcept
Style of the warrant.
Int32 previousClosingPrice() const noexcept
Previous closing price of the security; or Net asset value (NAV) published by issuer for ETF or L and...
UInt32 securityCode() const noexcept
Uniquely identifies a security available for trading.
Int32 strikePrice1() const noexcept
Strike price of the security if it has only one strike price, or Lower strike price of the security i...
SecurityDefinitionMsg(const void *data, MessageSize size) noexcept
Initializes instance over given memory block.
StrRef iSINCode() const noexcept
ISIN code of the security.
Int32 entitlement() const noexcept
Entitlement of the warrant.
UInt32 couponRate() const noexcept
Coupon rate of a bond security.
UInt32 maturityDate() const noexcept
Date of maturity of a bond security.
Int32 callPrice() const noexcept
Call price for CBBC.
UInt32 accruedInterest() const noexcept
Accrued interest of the security.
UInt16 msgSize() const noexcept
Size of the message.
StrRef stampDutyFlag() const noexcept
Indicator for stamp duty requirement.
StrRef investorType() const noexcept
Investor type of a bond security.
UInt16 msgType() const noexcept
Type of message.
StrRef shortSellFlag() const noexcept
Indicator for short-sell authorization.
StrRef securityNameGB() const noexcept
Security name in Simplified Chinese using Unicode.
StrRef securityShortName() const noexcept
Security short name.
static constexpr MessageSize messageSize_
Total message size.
StrRef callPutFlag() const noexcept
Indicator of whether the warrant or structured product is a call or put option.
StrRef faceValueCurrency() const noexcept
Currency code of Face Value.
Int32 strikePrice2() const noexcept
Upper strike price of the security if it has lower and upper strike prices.
UInt32 maturityDateOfWarrant() const noexcept
Date of maturity of a warrant or structured security.
UInt32 noWarrantsPerEntitlement() const noexcept
Number of warrants per entitlement.
UInt32 lotSize() const noexcept
Board lot size for the security.
StrRef cASFlag() const noexcept
Indicates whether Closing Auction Session (CAS) is applicable to the security.
UInt64 faceValue() const noexcept
Face value of a bond security.
static void validateSize(MessageSize size)
Check the given size.
StrRef marketCode() const noexcept
Market segment identifier.
UInt16 noUnderlyingSecurities() const noexcept
Number of underlying securities if the underlying security is defined in Security Definition (11) mes...
StrRef vCMFlag() const noexcept
Indicates whether Volatility Control Mechanism (VCM) is applicable to the security.
UInt32 delistingDate() const noexcept
Date of security delisting.
StrRef currencyCode() const noexcept
Currency code of the security.
UInt32 listingDate() const noexcept
Date of security listing.
UInt8 decimalsInCallPrice() const noexcept
Number of decimal places in Call Price.
UInt8 productType() const noexcept
Product type of the security.
Int32 pOSUpperLimit() const noexcept
Upper price limit of all orders in POS Order Input period, and At-auction Limit sell order in POS No ...
StrRef warrantType() const noexcept
Warrant type of the warrant.
StrRef securityNameGCCS() const noexcept
Security name in Traditional Chinese using Unicode.
UInt8 decimalsInFaceValue() const noexcept
Number of decimal places in Face Value.
UnderlyingSecurity underlyingSecurity(UInt16 index) const noexcept
UInt32 conversionRatio() const noexcept
Conversion ratio for Structured Product.
StrRef cCASSFlag() const noexcept
Indicates whether or not the security is a CCASS security.
UInt32 domainStmtSecurityCode() const noexcept
Security code of the corresponding Domain Settlement Counter.
StrRef spreadTableCode() const noexcept
Spread table code of the security.
StrRef pOSFlag() const noexcept
Indicates whether Pre-Opening Session (POS) is applicable to the security.
StrRef freeText() const noexcept
Free text associated to the security.
StrRef dummySecurityFlag() const noexcept
Dummy Security Flag.
static constexpr MessageSize messageSize_
Total message size.