OnixS C++ MTS Repo SDP Handler  1.3.2.8
API documentation
SMP.Classes.REPO_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 Repo {
42 namespace SDP {
43 
44 
45 
46 ///
48 {
49 public:
51  sellSideMemberInfo(20)
52 
53  {
54  clientRfcqId.reserve(50);
55  userInfo1.reserve(200);
56  userInfo2.reserve(200);
57  }
58 
59  virtual ~REPO_RFCQ_REQUEST() {}
60 
61  /// Class id
62  virtual ClassId::Enum id() const
63  {
65  }
66 
67  /// Message Info (Unique ID) of the Rfcq Request
69 
70  /// Member requesting the RFCQ
72 
73  /// RFCQ Type (Outright, DoubleSided, MultiLeg)
75 
76  /// RFCQ Origin(From Firm Book, From Indicative Book)
78 
79  /// Unique ID of the trading list (DoubleSided, Multileg)
81 
82  /// Data regarding the tradable instrument (Outright)
84 
85  /// Specifies whether it is a buy or sell operation (Referred to the member who receives the information)
87 
88  /// Quantity
89  Double quantity; // DOUBLE presentation
90 
91  /// Indicates if Rate is specified
93 
94  /// Rate value
95  Double rate; // DOUBLE presentation
96 
97  /// If true, rate must be sent to providers
99 
100  /// Indicates whether the trader who sends the RFCQ wants the trade to be settled bilaterally or not
102 
103  /// Specifies if in the RFCQ the configured Haircut will be used
105 
106  /// Data regarding sell side members (in case of Multileg RFCQ or Double Sided RFCQ the Provider Statuses are specified in the trading list [info leg])
107  static const size_t sellSideMemberInfoSize = 20;
108  std::vector<REPO_RFCQ_SELL_SIDE_MEMBER_INFO> sellSideMemberInfo;
109 
110  /// Action applied to the RFCQ
112 
113  /// Status of the RFCQ request
115 
116  /// Duration of the RFCQ (expressed in seconds)
118 
119  /// Time of expiration of the RFCQ
120  UInt64 rfcqTimeout; // UTIME presentation
121 
122  /// Client specific information
123  std::string clientRfcqId; // maxSize = 50
124 
125  /// Client free text
126  std::string userInfo1; // maxSize = 200
127 
128  /// Client free text
129  std::string userInfo2; // maxSize = 200
130 
131  /// Number of minutes the RFCQ will be deferred (for Multileg RFCQ)
133 
134  /// Time at which the RFCQ will start
135  UInt64 dueInTimeout; // UTIME presentation
136 
137  /// Last update timestamp
138  UInt64 updateTime; // UTIME presentation
139 
140 
141  ///
142  size_t deserialize(const void* buf, size_t inLen);
143 
144  /// Provides string presentation
145  virtual std::string toString () const;
146 
147  ///
148  virtual size_t serializationBufSize() const { return 1060; }
149 
150  ///
151  virtual REPO_RFCQ_REQUEST* clone() const;
152 
153  virtual REPO_RFCQ_REQUEST* clone(void*) const;
154 
155 private:
156  virtual size_t serialize(void* buf) const;
157 
158 };
159 
160 
161 }
162 }
163 }
164 }
UInt64 rfcqTimeout
Time of expiration of the RFCQ.
std::string clientRfcqId
Client specific information.
std::vector< REPO_RFCQ_SELL_SIDE_MEMBER_INFO > sellSideMemberInfo
TI_VERB::Enum verb
Specifies whether it is a buy or sell operation (Referred to the member who receives the information)...
unsigned short UInt16
Definition: Defines.h:45
REPO_MEMBER_INFO aggressor
Member requesting the RFCQ.
TI_MSG_INFO msgInfo
Message Info (Unique ID) of the Rfcq Request.
TI_RFCQ_TYPE::Enum rfcqType
RFCQ Type (Outright, DoubleSided, MultiLeg)
unsigned long long UInt64
Definition: Defines.h:47
UInt16 dueInTime
Number of minutes the RFCQ will be deferred (for Multileg RFCQ)
UInt32 rfcqDuration
Duration of the RFCQ (expressed in seconds)
TI_FLAG::Enum rateFg
Indicates if Rate is specified.
unsigned int UInt32
Definition: Defines.h:46
TI_RFCQ_REQUEST_STATUS::Enum status
Status of the RFCQ request.
TI_FLAG::Enum applyHaircutFg
Specifies if in the RFCQ the configured Haircut will be used.
TI_RFCQ_ORIGIN::Enum rfcqOrigin
RFCQ Origin(From Firm Book, From Indicative Book)
TI_FLAG::Enum discloseIOIFg
If true, rate must be sent to providers.
virtual ClassId::Enum id() const
Class id.
UInt64 dueInTimeout
Time at which the RFCQ will start.
TI_RFCQ_REQUEST_EVENT::Enum event
Action applied to the RFCQ.
UInt32 tradingListId
Unique ID of the trading list (DoubleSided, Multileg)
#define ONIXS_MTS_REPO_SDP_API
Definition: ABI.h:49
TI_FLAG::Enum bilateralOnlyFlag
Indicates whether the trader who sends the RFCQ wants the trade to be settled bilaterally or not...
REPO_INSTRUMENT_DATE_INFO instrument
Data regarding the tradable instrument (Outright)