OnixS C++ Eurex T7 Market and Reference Data (EMDI, MDI, RDI, EOBI) Handlers  17.0.1
API documentation
AddFlexibleInstrument.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 
28 namespace OnixS
29 {
30  namespace Eurex
31  {
32  namespace MarketData
33  {
34  namespace EOBI
35  {
36  class ONIXS_EUREX_EMDI_API AddFlexibleInstrument : public MessageBase
37  {
38  public:
39  /// Message type
40  std::string msgType() const;
41 
42  /// Market data type
43  EOBI::MarketDataType::Enum marketDataType() const;
44 
45  /// Security update action
46  EOBI::SecurityUpdateAction::Enum securityUpdateAction() const;
47 
48  /// Marketplace assigned identifier.
49  EOBI::SecurityIDSource::Enum securityIDSource() const;
50 
51  /// This field qualifies an instrument type on Eurex.
52  EOBI::ProductComplex::Enum productComplex() const;
53 
54  /// Number of market segments
55  EOBI::NoMarketSegments::Enum noMarketSegments() const;
56 
57  /// Unique instrument identifier.
58  UInt64 securityID() const;
59 
60  /// Transaction timestamp.
61  UInt64 transactTime() const;
62 
63  /// Human readable description of instrument.
64  StringRef securityDesc() const;
65 
66  /// Strategy Type.
67  EOBI::SecurityType::Enum securityType() const;
68 
69  ///
70  EOBI::PutOrCall::Enum putOrCall() const;
71 
72  ///
73  EOBI::ExerciseStyle::Enum exerciseStyle() const;
74 
75  ///
76  EOBI::SettlMethod::Enum settlMethod() const;
77 
78  /// Expiration day of the instrument (YYYYMMDD).
79  UInt32 maturityDate() const;
80 
81  /// Strike Price
82  bool strikePrice(Decimal& price) const;
83 
84  ///
85  bool optAttribute(UInt32& value) const;
86 
87  /// Contract day of the instrument (YYYYMMDD).
88  UInt32 contractDate() const;
89 
90  /// Contract day of the instrument (YYYYMMDD).Same as Contract - Date.
91  UInt32 securityReferenceDataSupplement() const;
92 
93  /// Appends text presentation.
94  void toString (std::string&) const ONIXS_EUREX_EMDI_OVERRIDE;
95 
96  private:
97  friend class Implementation::MessageFactory;
98 
99  AddFlexibleInstrument (const void* data, const DataSource& dataSource) : MessageBase (data, dataSource) {}
100  };
101  }
102  }
103  }
104 }
#define ONIXS_EUREX_EMDI_OVERRIDE
Definition: Compiler.h:134
unsigned int UInt32
Definition: Numeric.h:41
Definition: Defines.h:30
Decimal type for better precision.
Definition: Numeric.h:63