OnixS BME SENAF Handler C++ library  2.2.1
API documentation
OperationConfirmationInvolved.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
5  * copyright law and international copyright treaties.
6  *
7  * Access to and use of the software is governed by the terms of the applicable
8  * ONIXS Software Services Agreement (the Agreement) and Customer end user
9  * license agreements granting a non-assignable, non-transferable and
10  * non-exclusive license to use the software for it's own data processing
11  * purposes under the terms defined in the Agreement.
12  *
13  * Except as otherwise granted within the terms of the Agreement, copying or
14  * reproduction of any part of this source code or associated reference material
15  * to any other location for further reproduction or redistribution, and any
16  * amendments to this copyright notice, are expressly prohibited.
17  *
18  * Any reproduction or redistribution for sale or hiring of the Software not in
19  * accordance with the terms of the Agreement is a violation of copyright law.
20  */
21 
22 #pragma once
23 
25 #include <OnixS/Senaf/MarketData/Export.h>
28 
29 #include <iosfwd>
30 #include <string>
31 #include <vector>
32 
33 namespace OnixS { namespace Senaf { namespace MarketData {
34 
35 /// Operation Confirmation. Involved.
36 struct ONIXS_BME_SENAF_EXPORT OperationConfirmationInvolved
37 {
38  /// Message code.
39  enum
40  {
41  code = 4
42  };
43 
44  /// Default constructor.
46 
47  /// Message Number.
48  unsigned int messageNumber;
49 
50  /// Market.
51  unsigned char market;
52 
53  /// Buyer Investment Decision.
55 
56  /// Buyer Execution.
57  unsigned int buyerExecution;
58 
59  /// Buyer Liquidity Provision Activity.
61 
62  /// Seller Investment Decision.
64 
65  /// Seller Execution.
66  unsigned int sellerExecution;
67 
68  /// Seller Liquidity Provision Activity.
70 
71  /// Instrument Type.
73 
74  /// Reference.
75  unsigned short reference;
76 
77  /// Trade Number.
78  unsigned short tradeNumber;
79 
80  /// Captured Trade ID.
81  unsigned short capturedTradeId;
82 
83  /// Confirmation Type.
85 
86  /// Trade Status.
88 
89  /// Trade Date.
91 
92  /// Operation Time.
94 
95  /// Buy (Sell). Hit direction.
97 
98  /// Cash / Term.
100 
101  /// Senaf Operation Code.
102  unsigned int senafOperationCode;
103 
104  /// Buyer New order Time.
106 
107  /// Seller New order Time.
109 
110  /// Segment MIC.
111  unsigned int segmentMIC;
112 
113  /// Deferral Waiver.
114  unsigned char deferralWaiver;
115 
116  /// Buyer Member (Senaf Number).
117  unsigned char buyerMemberSenafNumber;
118 
119  /// Buyer Member (CSB Number).
120  unsigned short buyerMemberCSBNumber;
121 
122  /// Buyer Broker (Senaf Number).
123  unsigned char buyerBrokerSenafNumber;
124 
125  /// Buyer Broker (CSB Number).
126  unsigned short buyerBrokerCSBNumber;
127 
128  /// Buyer User (Number).
129  unsigned char buyerUserNumber;
130 
131  /// Buyer User (Text).
132  unsigned long long buyerUserText;
133 
134  /// Buyer Label.
135  unsigned int buyerLabel;
136 
137  /// Buyer Commission.
138  unsigned short buyerCommission;
139 
140  /// Seller Member (Senaf Number).
141  unsigned char sellerMemberSenafNumber;
142 
143  /// Seller Member (CSB Number).
144  unsigned short sellerMemberCSBNumber;
145 
146  /// Seller Broker (Senaf Number).
147  unsigned char sellerBrokerSenafNumber;
148 
149  /// Seller Broker (CSB Number).
150  unsigned short sellerBrokerCSBNumber;
151 
152  /// Seller User (Number).
153  unsigned char sellerUserNumber;
154 
155  /// Seller User (Text).
156  unsigned long long sellerUserText;
157 
158  /// Seller Label.
159  unsigned int sellerLabel;
160 
161  /// Seller Commission.
162  unsigned short sellerCommission;
163 
164  /// \name Bonds, Strips, Bills, GGB, Corporate New Issues, Cedulas and FROB
165  /// Bonds (001, 002, 003, 009, 010, 011 and 012).
166  //@{
167 
168  /// Bank of Spain Operation Code.
170 
171  /// Unitary Volume.
173 
174  /// Hit Volume.
176 
177  /// Price.
179 
180  /// Yield / Rate.
182 
183  /// Value Date.
185 
186  /// Reference name.
188 
189  /// Issuer.
191 
192  /// ISIN Code or Issuer Code.
194 
195  /// Currency.
197 
198  /// Country.
200 
201  /// CCP.
203 
204  /// Yield calculation.
206 
207  /// Cash.
209 
210  /// Accrued Coupon amount.
212 
213  //@}
214 
215  /// \name Treasury Repo MEFE (BME Clearing-Iberclear), Treasury Repo CNET
216  /// (Clearnet-Iberclear), Bilateral Treasury Repo (No CCP-IberClear) and any
217  /// other Repo instrument (Instrument Types 016 until 031 are reserved for
218  /// other possible Repo instruments).
219  //@{
220 
221  /// Delivered volume.
223 
224  /// Repo Rate.
226 
227  /// Purchase Leg Price.
229 
230  /// Term.
232 
233  /// Purchase Leg Value Date.
235 
236  /// Re-purchase Leg Date.
238 
239  /// Delivered reference.
241 
242  /// Purchase Cash.
244 
245  /// Re-purchase Cash.
247 
248  /// Purchase Accrued Coupon amount.
250 
251  /// Re-purchase Accrued Coupon amount.
253 
254  //@}
255 
256  /// \name Switches (007)
257  //@{
258 
259  /// Switch Long Name.
261 
262  /// Rate (Switch).
264 
265  /// Leg.
267 
268  //@}
269 
270  /// Returns string representation.
271  std::string toString() const;
272 
273 private:
274  friend class MessageDeserializer;
275  OperationConfirmationInvolved(const char* data, size_t dataSize);
276  void deserialize(const char* data, size_t dataSize);
277  void reset();
278 };
279 
280 ONIXS_BME_SENAF_EXPORT std::ostream&
281 operator<<(std::ostream&, const OperationConfirmationInvolved&);
282 
283 }}} // namespace OnixS::Senaf::MarketData
Optional< std::string > isinCode
ISIN Code or Issuer Code.
Represents date without time component.
Definition: Time.h:313
unsigned char buyerMemberSenafNumber
Buyer Member (Senaf Number).
Optional< unsigned long long > repurchaseAccruedCouponAmount
Re-purchase Accrued Coupon amount.
unsigned char sellerMemberSenafNumber
Seller Member (Senaf Number).
Optional< unsigned long long > purchaseAccruedCouponAmount
Purchase Accrued Coupon amount.
Optional< unsigned short > bankOfSpainOperationCode
Bank of Spain Operation Code.
std::ostream & operator<<(std::ostream &, const Error &)
Make it printable to formatted C++ I/O streams.
unsigned char buyerBrokerSenafNumber
Buyer Broker (Senaf Number).
Optional< unsigned long long > repurchaseCash
Re-purchase Cash.
unsigned int sellerInvestmentDecision
Seller Investment Decision.
unsigned char sellerBrokerSenafNumber
Seller Broker (Senaf Number).
Optional< unsigned short > deliveredReference
Delivered reference.
unsigned char buyerLiquidityProvisionActivity
Buyer Liquidity Provision Activity.
unsigned char sellerLiquidityProvisionActivity
Seller Liquidity Provision Activity.
unsigned short sellerBrokerCSBNumber
Seller Broker (CSB Number).
unsigned short sellerMemberCSBNumber
Seller Member (CSB Number).
Optional< YieldCalculation::Enum > yieldCalculation
Yield calculation.
Optional< unsigned long long > accruedCouponAmount
Accrued Coupon amount.
Optional< unsigned long long > purchaseCash
Purchase Cash.