OnixS C++ MTS Bond Vision SDP Handler  1.2.0
API documentation
SMP.Classes.BV_RFCQ_REQUEST.h
Go to the documentation of this file.
1 #pragma once
2 /*
3 * Copyright Onix Solutions Limited [OnixS]. All rights reserved.
4 *
5 * This software owned by Onix Solutions Limited [OnixS] and is protected by copyright law
6 * and international copyright treaties.
7 *
8 * Access to and use of the software is governed by the terms of the applicable ONIXS Software
9 * Services Agreement (the Agreement) and Customer end user license agreements granting
10 * a non-assignable, non-transferable and non-exclusive license to use the software
11 * for it's own data processing purposes under the terms defined in the Agreement.
12 *
13 * Except as otherwise granted within the terms of the Agreement, copying or reproduction of any part
14 * of this source code or associated reference material to any other location for further reproduction
15 * or redistribution, and any amendments to this copyright notice, are expressly prohibited.
16 *
17 * Any reproduction or redistribution for sale or hiring of the Software not in accordance with
18 * the terms of the Agreement is a violation of copyright law.
19 */
20 
21 
22 /*
23 --------------
24 GENERATED FILE
25 --------------
26 */
27 
28 
29 #include <string>
37 
38 
39 namespace OnixS {
40 namespace Mts {
41 namespace BondVision {
42 namespace SDP {
43 
44 
45 
46 ///
47 class ONIXS_MTS_BONDVISION_SDP_API BV_RFCQ_REQUEST : public Class
48 {
49 public:
51  rfcqRequestLeg(3)
52  , sellSideMemberInfo(20)
53 
54  {
55  clientRfcqId.reserve(50);
56  userInfo1.reserve(200);
57  userInfo2.reserve(200);
58  }
59 
60  virtual ~BV_RFCQ_REQUEST() {}
61 
62  /// Class id
63  virtual ClassId::Enum id() const
64  {
66  }
67 
68  /// Message Info (Unique ID) of the Rfcq Request
70 
71  /// Member requesting the RFCQ
73 
74  /// RFCQ Type (Outright, Switch, Butterfly, MultiLeg, ...)
76 
77  /// RFCQ Origin(From Scratch, From Single Dealer Page, From Inventory)
79 
80  /// Specifies if the RFCQ is sent to one and only provider. Meaningful only for RFCQ of type Outright, Switch, Butterfly, Butterfly free. Otherwise set to TI_FLAG_No.
82 
83  /// Unique ID of the Voice Registration
85 
86  /// Specifies whether the RFCQ will be subject to pre-trade transparency or not
88 
89  /// Unique ID of the Sell side member in case of RfcqOrigin equal to 'FromSingleDealerPage' or 'FromInventory')
91 
92  /// Unique ID of the trading list of bonds
94 
95  /// Unique ID of the Dealer list Preview
97 
98  /// Type of quantity calculation carried out by the Buy Side member
100 
101  /// Specifies if the value in the LimitSpread field is meaningful
103 
104  /// Limit value for the spread in case of RFCQ Switch or Butterfly negotiation.
105  Double limitSpread; // DOUBLE presentation
106 
107  /// RFCQ Request leg data (in case of Multileg RFCQ or Double Sided RFCQ the legs are specified in the trading list)
108  static const size_t rfcqRequestLegSize = 3;
109  std::vector<BV_RFCQ_REQUEST_LEG> rfcqRequestLeg;
110 
111  /// Data regarding Sell Side Members.
112  static const size_t sellSideMemberInfoSize = 20;
113  std::vector<BV_RFCQ_SELL_SIDE_MEMBER_INFO> sellSideMemberInfo;
114 
115  /// Number of quotes triggering auto-matching when best price matches IOI.
117 
118  /// Action applied to the RFCQ
120 
121  /// Specifies the status of the RFCQ request
123 
124  /// Duration of the RFCQ (expressed in seconds)
126 
127  /// Time of expiration of the RFCQ
128  UInt64 rfcqTimeout; // UTIME presentation
129 
130  /// Client specific information
131  std::string clientRfcqId; // maxSize = 50
132 
133  /// Specifies if the RFCQ is automatically generated
135 
136  /// Rule Id of the Autoexecution
138 
139  /// Override manual start time
140  UInt64 manualOverrideStartTime; // UTIME presentation
141 
142  /// Override manual end time
143  UInt64 manualOverrideEndTime; // UTIME presentation
144 
145  /// Client free text
146  std::string userInfo1; // maxSize = 200
147 
148  /// Client free text
149  std::string userInfo2; // maxSize = 200
150 
151  /// Number of seconds the RFCQ will be deferred (for Multileg RFCQ)
153 
154  /// Time at which the MultiLeg RFCQ will start
155  UInt64 dueInTimeout; // UTIME presentation
156 
157  /// Last update timestamp
158  UInt64 updateTime; // UTIME presentation
159 
160 
161  ///
162  size_t deserialize(const void* buf, size_t inLen);
163 
164  /// Provides string presentation
165  virtual std::string toString () const;
166 
167  ///
168  virtual size_t serializationBufSize() const { return 2776; }
169 
170  ///
171  virtual BV_RFCQ_REQUEST* clone() const;
172 
173  virtual BV_RFCQ_REQUEST* clone(void*) const;
174 
175 private:
176  virtual size_t serialize(void* buf) const;
177 
178 };
179 
180 
181 }
182 }
183 }
184 }
TI_MSG_INFO msgInfo
Message Info (Unique ID) of the Rfcq Request.
TI_FLAG::Enum limitSpreadFg
Specifies if the value in the LimitSpread field is meaningful.
UInt64 manualOverrideStartTime
Override manual start time.
virtual ClassId::Enum id() const
Class id.
std::string clientRfcqId
Client specific information.
TI_RFCQ_REQUEST_EVENT::Enum event
Action applied to the RFCQ.
TI_RFCQ_ORIGIN::Enum rfcqOrigin
RFCQ Origin(From Scratch, From Single Dealer Page, From Inventory)
UInt32 autoExecutionRuleId
Rule Id of the Autoexecution.
TI_FLAG::Enum preAgreedFg
Specifies if the RFCQ is sent to one and only provider. Meaningful only for RFCQ of type Outright...
TI_RFCQ_REQUEST_STATUS::Enum status
Specifies the status of the RFCQ request.
UInt16 iOIMatchingQuotes
Number of quotes triggering auto-matching when best price matches IOI.
UInt32 rfcqDuration
Duration of the RFCQ (expressed in seconds)
UInt32 tradingListId
Unique ID of the trading list of bonds.
UInt16 dueInTime
Number of seconds the RFCQ will be deferred (for Multileg RFCQ)
TI_FLAG::Enum preTradeFg
Specifies whether the RFCQ will be subject to pre-trade transparency or not.
UInt32 previewId
Unique ID of the Dealer list Preview.
TI_FLAG::Enum autoExecutionFg
Specifies if the RFCQ is automatically generated.
TI_RFCQ_TYPE::Enum rfcqType
RFCQ Type (Outright, Switch, Butterfly, MultiLeg, ...)
UInt64 dueInTimeout
Time at which the MultiLeg RFCQ will start.
UInt32 sellSideMemberId
Unique ID of the Sell side member in case of RfcqOrigin equal to &#39;FromSingleDealerPage&#39; or &#39;FromInven...
Double limitSpread
Limit value for the spread in case of RFCQ Switch or Butterfly negotiation.
BV_MEMBER_INFO aggressor
Member requesting the RFCQ.
std::vector< BV_RFCQ_SELL_SIDE_MEMBER_INFO > sellSideMemberInfo
UInt32 voiceListId
Unique ID of the Voice Registration.
unsigned long long UInt64
Definition: Defines.h:47
UInt64 rfcqTimeout
Time of expiration of the RFCQ.
unsigned short UInt16
Definition: Defines.h:45
TI_RFCQ_QUANTITY_CALCULATION::Enum quantityCalculation
Type of quantity calculation carried out by the Buy Side member.