OnixS C++ Eurex T7 Market and Reference Data (EMDI, MDI, RDI, EOBI) Handlers  17.0.1
API documentation
QuoteRequest.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  /// Quote request
35  class ONIXS_EUREX_EMDI_API QuoteRequest : public Message
36  {
37  public:
38  /// Product identifier.
40  {
41  return getUInt32 (Tags::MarketSegmentID);
42  }
43 
44  /// Instrument ID from Eurex Exchange�s new trading architecture
46  {
47  return getGroup (Tags::NoRelatedSym).at (0).getInt64 (Tags::SecurityID);
48  }
49 
50  /// Side
51  Side::Enum side() const
52  {
53  return getNonZeroIntEnumFieldValue<Side> (getGroup (Tags::NoRelatedSym).at (0), Tags::NoRelatedSym);
54  }
55 
56  /// Indicates if product is in the state Fast Market.
57  bool orderQty (Decimal& quantity) const
58  {
59  return getGroup (Tags::NoRelatedSym).at (0).get (Tags::OrderQty).toNumber (quantity);
60  }
61 
62  /// Time when request was processed by the matcher (nanoseconds).
63  UInt64 transactTime() const
64  {
65  return getGroup (Tags::NoRelatedSym).at (0).getUInt64 (Tags::TransactTime);
66  }
67 
68  private:
69  friend class QuoteRequestWrapper;
70 
71  QuoteRequest (const void* impl)
72  : Message (impl)
73  {
74  }
75  };
76  }
77  }
78 }
UInt64 transactTime() const
Time when request was processed by the matcher (nanoseconds).
Definition: QuoteRequest.h:63
MarketSegmentId marketSegmentId() const
Product identifier.
Definition: QuoteRequest.h:39
Definition: Defines.h:30
Decimal type for better precision.
Definition: Numeric.h:63
Side::Enum side() const
Side.
Definition: QuoteRequest.h:51
Int64 SecurityId
Alias for Security Id type.
Definition: Defines.h:51
SecurityId securityId() const
Instrument ID from Eurex Exchange�s new trading architecture.
Definition: QuoteRequest.h:45
UInt32 MarketSegmentId
Alias for Market Segment ID type.
Definition: Defines.h:40
bool orderQty(Decimal &quantity) const
Indicates if product is in the state Fast Market.
Definition: QuoteRequest.h:57