OnixS C++ Eurex T7 Market and Reference Data (EMDI, MDI, RDI, EOBI) Handlers 18.2.0
API documentation
Loading...
Searching...
No Matches
FlexibleInstrumentUpdate.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
26
27namespace OnixS
28{
29 namespace Eurex
30 {
31 namespace MarketData
32 {
33
35 class ONIXS_EUREX_EMDI_API FlexibleInstrumentUpdate : public Message
36 {
37 public:
38
41 {
42 StringRef val;
43 return get (Tags::SecurityUpdateAction).toStringRef (val) ? val : StringRef();
44 }
45
48 {
50 }
51
54 {
55 StringRef val;
56 return get (Tags::SecurityDesc).toStringRef (val) ? val : StringRef();
57 }
58
64
70
76
82
88
90 bool strikePrice (Decimal& price) const
91 {
92 return get (Tags::StrikePrice).toNumber (price);
93 }
94
100
103 {
105 }
106
112
118
121 {
122 return getGroup (Tags::NoMarketSegments).at (0).getUInt32 (Tags::MarketSegmentID);
123 }
124
126 bool transactTime (UInt64& time) const
127 {
128 return get (Tags::TransactTime).toNumber (time);
129 }
130
132 UInt64 transactTime() const
133 {
135 }
136
137 private:
139
140 FlexibleInstrumentUpdate (const void* impl)
141 : Message (impl)
142 {
143 }
144 };
145 }
146 }
147}
Decimal type for better precision.
Definition Numeric.h:66
Group getGroup(Tag numberOfInstancesTag) const
FieldValueRef get(Tag tag) const
StringRef securityDesc() const
Security description.
InstrumentType::Enum productComplex() const
Type of instrument.
StringRef securityUpdateAction() const
Security Update Action.
Timestamp contractDate() const
Date used to identify the instrument (YYYYMMDD).
MarketSegmentId marketSegmentId() const
Product identifier.
Timestamp maturityDate() const
Actual expiration day of the instrument (YYYYMMDD).
ExerciseStyle::Enum exerciseStyle() const
Style family of an option.
bool strikePrice(Decimal &price) const
Strike Price.
SettlMethod::Enum settlMethod() const
Settlement type.
SecurityType::Enum securityType() const
Type of security.
Timestamp securityReferenceDataSupplement() const
Date used to identify the instrument (YYYYMMDD). Same as user defined field ContractDate(30866).
SecurityId securityId() const
Instrument identifier.
bool transactTime(UInt64 &time) const
Creation time of flexible instruments.
Message(const Message &other)
Represents timestamp without time-zone information.
Definition Timestamp.h:88
static Timestamp parse(const std::string &, TimestampFormat::Enum=TimestampFormat::YYYYMMDDHHMMSSNsec)
const Tag SecurityReferenceDataSupplement
Definition Tags.h:354
const Tag SecurityUpdateAction
Definition Tags.h:90
Enumeration::Enum getIntEnumFieldValue(const FieldSet &fieldSet, Tag tag)
Definition FieldSet.h:228
unsigned int UInt32
Definition Numeric.h:41
UInt32 MarketSegmentId
Alias for Market Segment ID type.
Definition Defines.h:40
Int64 SecurityId
Alias for Security Id type.
Definition Defines.h:51
Enumeration::Enum getNonZeroIntEnumFieldValue(const FieldSet &fieldSet, Tag tag)
Definition FieldSet.h:235
@ YYYYMMDD
Indicates timestamp in "YYYYMMDD" format.
Definition Timestamp.h:70