OnixS BME SENAF Handler C++ library  2.2.0
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 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 
22 #include <OnixS/Senaf/MarketData/Export.h>
26 
27 #include <iosfwd>
28 #include <string>
29 #include <vector>
30 
31 namespace OnixS { namespace Senaf { namespace MarketData {
32 
33 /// Operation Confirmation. Involved.
34 struct ONIXS_BME_SENAF_EXPORT OperationConfirmationInvolved
35 {
36  /// Message code.
37  enum { code = 4 };
38 
39  /// Default constructor.
41 
42  /// Message Number.
43  unsigned int messageNumber;
44 
45  /// Market.
46  unsigned char market;
47 
48  /// Buyer Investment Decision.
50 
51  /// Buyer Execution.
52  unsigned int buyerExecution;
53 
54  /// Buyer Liquidity Provision Activity.
56 
57  /// Seller Investment Decision.
59 
60  /// Seller Execution.
61  unsigned int sellerExecution;
62 
63  /// Seller Liquidity Provision Activity.
65 
66  /// Instrument Type.
68 
69  /// Reference.
70  unsigned short reference;
71 
72  /// Trade Number.
73  unsigned short tradeNumber;
74 
75  /// Captured Trade ID.
76  unsigned short capturedTradeId;
77 
78  /// Confirmation Type.
80 
81  /// Trade Status.
83 
84  /// Trade Date.
86 
87  /// Operation Time.
89 
90  /// Buy (Sell). Hit direction.
92 
93  /// Cash / Term.
95 
96  /// Senaf Operation Code.
97  unsigned int senafOperationCode;
98 
99  /// Buyer New order Time.
101 
102  /// Seller New order Time.
104 
105  /// Segment MIC.
106  unsigned int segmentMIC;
107 
108  /// Deferral Waiver.
109  unsigned char deferralWaiver;
110 
111  /// Buyer Member (Senaf Number).
112  unsigned char buyerMemberSenafNumber;
113 
114  /// Buyer Member (CSB Number).
115  unsigned short buyerMemberCSBNumber;
116 
117  /// Buyer Broker (Senaf Number).
118  unsigned char buyerBrokerSenafNumber;
119 
120  /// Buyer Broker (CSB Number).
121  unsigned short buyerBrokerCSBNumber;
122 
123  /// Buyer User (Number).
124  unsigned char buyerUserNumber;
125 
126  /// Buyer User (Text).
127  unsigned long long buyerUserText;
128 
129  /// Buyer Label.
130  unsigned int buyerLabel;
131 
132  /// Buyer Commission.
133  unsigned short buyerCommission;
134 
135  /// Seller Member (Senaf Number).
136  unsigned char sellerMemberSenafNumber;
137 
138  /// Seller Member (CSB Number).
139  unsigned short sellerMemberCSBNumber;
140 
141  /// Seller Broker (Senaf Number).
142  unsigned char sellerBrokerSenafNumber;
143 
144  /// Seller Broker (CSB Number).
145  unsigned short sellerBrokerCSBNumber;
146 
147  /// Seller User (Number).
148  unsigned char sellerUserNumber;
149 
150  /// Seller User (Text).
151  unsigned long long sellerUserText;
152 
153  /// Seller Label.
154  unsigned int sellerLabel;
155 
156  /// Seller Commission.
157  unsigned short sellerCommission;
158 
159  /// \name Bonds, Strips, Bills, GGB, Corporate New Issues, Cedulas and FROB Bonds (001, 002, 003, 009, 010, 011 and 012).
160  //@{
161 
162  /// Bank of Spain Operation Code.
164 
165  /// Unitary Volume.
167 
168  /// Hit Volume.
170 
171  /// Price.
173 
174  /// Yield / Rate.
176 
177  /// Value Date.
179 
180  /// Reference name.
182 
183  /// Issuer.
185 
186  /// ISIN Code or Issuer Code.
188 
189  /// Currency.
191 
192  /// Country.
194 
195  /// CCP.
197 
198  /// Yield calculation.
200 
201  /// Cash.
203 
204  /// Accrued Coupon amount.
206 
207  //@}
208 
209  /// \name Treasury Repo MEFE (BME Clearing-Iberclear), Treasury Repo CNET (Clearnet-Iberclear),
210  /// Bilateral Treasury Repo (No CCP-IberClear) and any other Repo instrument
211  /// (Instrument Types 016 until 031 are reserved for other possible Repo instruments).
212  //@{
213 
214  /// Delivered volume.
216 
217  /// Repo Rate.
219 
220  /// Purchase Leg Price.
222 
223  /// Term.
225 
226  /// Purchase Leg Value Date.
228 
229  /// Re-purchase Leg Date.
231 
232  /// Delivered reference.
234 
235  /// Purchase Cash.
237 
238  /// Re-purchase Cash.
240 
241  /// Purchase Accrued Coupon amount.
243 
244  /// Re-purchase Accrued Coupon amount.
246 
247  //@}
248 
249  /// \name Switches (007)
250  //@{
251 
252  /// Switch Long Name.
254 
255  /// Rate (Switch).
257 
258  /// Leg.
260 
261  //@}
262 
263  /// Returns string representation.
264  std::string toString () const;
265 
266 private:
267  friend class MessageDeserializer;
268  OperationConfirmationInvolved(const char* data, size_t dataSize);
269  void deserialize(const char* data, size_t dataSize);
270  void reset();
271 };
272 
273 ONIXS_BME_SENAF_EXPORT std::ostream& operator<<(std::ostream&, const OperationConfirmationInvolved&);
274 
275 }}}
Optional< std::string > isinCode
ISIN Code or Issuer Code.
Represents date without time component.
Definition: Time.h:310
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.