OnixS C++ Eurex T7 Market and Reference Data (EMDI, MDI, RDI, EOBI) Handlers 18.2.0
API documentation
Loading...
Searching...
No Matches
ComplexInstrumentUpdate.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
27
28namespace OnixS
29{
30 namespace Eurex
31 {
32 namespace MarketData
33 {
34 class UpdateInstrumentLegs : public TypedGroup<InstrumentLeg>
35 {
36 private:
37 explicit
38 UpdateInstrumentLegs (const Group& group)
40 {
41 }
42
44 };
45
47 class ONIXS_EUREX_EMDI_API ComplexInstrumentUpdate : public Message
48 {
49 public:
52 {
53 StringRef val;
54 return get (Tags::SecurityUpdateAction).toStringRef (val) ? val : StringRef();
55 }
56
59 {
61 }
62
65 {
66 StringRef val;
67 return get (Tags::SecurityDesc).toStringRef (val) ? val : StringRef();
68 }
69
75
78 {
79 return get (Tags::SecuritySubType).toNumber (type);
80 }
81
87
90 {
91 return get(Tags::LegRatioMultiplier).toNumber(type);
92 }
93
99
102 {
103 return get(Tags::QuantityScalingFactor).toNumber(type);
104 }
105
111
114 {
115 return getGroup (Tags::NoMarketSegments).at (0).getUInt32 (Tags::MarketSegmentID);
116 }
117
124
126 bool transactTime (UInt64& time) const
127 {
128 return get (Tags::TransactTime).toNumber (time);
129 }
130
131 private:
133
134 ComplexInstrumentUpdate (const void* impl)
135 : Message (impl)
136 {
137 }
138 };
139 }
140 }
141}
StringRef securityDesc() const
Security description.
InstrumentType::Enum productComplex() const
Type of Market Data update action.
StringRef securityUpdateAction() const
Security Update Action.
bool securitySubType(UInt32 &type) const
Standard strategy type for complex instruments, e.g. BER-C.
MarketSegmentId marketSegmentId() const
Product identifier.
SecurityType::Enum securityType() const
Type of security.
SecurityId securityId() const
Instrument identifier.
bool transactTime(UInt64 &time) const
Creation time of complex instruments.
bool impliedMarketIndicator() const
Implied market indicator.
bool legRatioMultiplier(UInt32 &type) const
Common integer multiple of the option legs for Option Volatility Strategies.
Group getGroup(Tag numberOfInstancesTag) const
FieldValueRef get(Tag tag) const
FieldValueRef type() const
Returns the message type (MsgType(35) field value).
Message(const Message &other)
const Tag SecurityUpdateAction
Definition Tags.h:90
const Tag ImpliedMarketIndicator
Definition Tags.h:96
const Tag QuantityScalingFactor
Definition Tags.h:343
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
@ BothImpliedInAndImpliedOut
Both implied in and implied out.
Definition Defines.h:235