OnixS C++ Eurex T7 Market and Reference Data (EMDI, MDI, RDI, EOBI) Handlers  17.0.1
API documentation
AddScaledSimpleInstrument.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  ///
37  class ONIXS_EUREX_EMDI_API RelatedInstrumentEntry : public DataContainer
38  {
39  public:
40  /// Appends text presentation.
41  void toString (std::string&) const;
42 
43  ///
44  Int64 relatedSecurityId() const ONIXS_EUREX_EMDI_NOEXCEPT;
45 
46  private:
48  explicit RelatedInstrumentEntry(const void* data) ONIXS_EUREX_EMDI_NOEXCEPT;
49  };
50 
51  class ONIXS_EUREX_EMDI_API RelatedInstrumentEntries : public DataContainer
52  {
53  public:
54  /// Number of entries
55  size_t size() const ONIXS_EUREX_EMDI_NOEXCEPT;
56 
57  /// Entry accessor
58  RelatedInstrumentEntry operator[] (size_t idx) const;
59 
60  /// Appends text presentation.
61  void toString (std::string&) const;
62 
63  private:
65 
66  explicit RelatedInstrumentEntries (const void* data) ONIXS_EUREX_EMDI_NOEXCEPT;
67  };
68 
69  ///
70  class ONIXS_EUREX_EMDI_API AddScaledSimpleInstrument : public MessageBase
71  {
72  public:
73  /// Message type
74  std::string msgType() const;
75 
76  /// Unique instrument identifier.
77  UInt64 securityID() const ONIXS_EUREX_EMDI_NOEXCEPT;
78 
79  /// Official timestamp of order book entry.
80  UInt64 transactTime() const ONIXS_EUREX_EMDI_NOEXCEPT;
81 
82  /// Human readable description of instrument.
83  StringRef securityDesc() const ONIXS_EUREX_EMDI_NOEXCEPT;
84 
85  /// Strategy Type.
87 
88  ///
89  UInt16 quantityScalingFactor() const ONIXS_EUREX_EMDI_NOEXCEPT;
90 
91  ///
92  RelatedInstrumentEntries relatedInstrumentEntries() const ONIXS_EUREX_EMDI_NOEXCEPT;
93 
94 
95  private:
96  friend class Implementation::MessageFactory;
97  AddScaledSimpleInstrument (const void* data, const DataSource& dataSource) : MessageBase (data, dataSource) {}
98  };
99  }
100  }
101  }
102 }
#define ONIXS_EUREX_EMDI_NOEXCEPT
Definition: Compiler.h:130
Definition: Defines.h:30
unsigned short UInt16
Definition: Numeric.h:38