OnixS BME SENAF Handler C++ library  2.2.1
API documentation
Enumerations.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 
24 #include <OnixS/Senaf/MarketData/Export.h>
25 
26 #include <string>
27 
28 namespace OnixS { namespace Senaf { namespace MarketData {
29 
30 /// Flow Type.
31 struct ONIXS_BME_SENAF_EXPORT FlowType
32 {
33  /// \copydoc FlowType
34  enum Enum
35  {
36  /// Undefined.
37  Undefined = 0x0,
38 
39  /// Back-Office.
40  BackOffice = 0x01,
41 
42  /// Non-Operative Short Market.
43  NonOperativeShortMarket = 0x05,
44 
45  /// Short Market.
46  ShortMarket = 0x06
47  };
48 
49  /// Deserializes constant from string representation.
50  static Enum deserialize(const char*);
51 
52  /// Returns string representation.
53  static const char* toString(Enum);
54 };
55 
56 /// System Error Code.
57 struct ONIXS_BME_SENAF_EXPORT SystemErrorCode
58 {
59  /// \copydoc SystemErrorCode
60  enum Enum
61  {
62  /// Unknown.
63  Unknown = 0,
64 
65  /// Terminal Error.
66  TerminalError = 1,
67 
68  /// Server Error.
69  ServerError = 2,
70 
71  /// Senaf Error.
72  SenafError = 3
73  };
74 
75  /// Deserializes constant from string representation.
76  static Enum deserialize(const char*);
77 
78  /// Returns string representation.
79  static const char* toString(Enum);
80 };
81 
82 /// Side.
83 struct ONIXS_BME_SENAF_EXPORT Side
84 {
85  /// \copydoc Side
86  enum Enum
87  {
88  /// Undefined.
89  Undefined = 0,
90 
91  /// Bid.
92  Bid = 1,
93 
94  /// Ask.
95  Ask = 2
96  };
97 
98  /// Deserializes constant from string representation.
99  static Enum deserialize(const char*);
100 
101  /// Returns string representation.
102  static const char* toString(Enum);
103 };
104 
105 /// Buy / Sell.
106 struct ONIXS_BME_SENAF_EXPORT BuySell
107 {
108  /// \copydoc BuySell
109  enum Enum
110  {
111  /// Undefined.
112  Undefined = 0,
113 
114  /// Sell.
115  Sell = 1,
116 
117  /// Buy.
118  Buy = 2
119  };
120 
121  /// Deserializes constant from string representation.
122  static Enum deserialize(const char*);
123 
124  /// Returns string representation.
125  static const char* toString(Enum);
126 };
127 
128 /// Instrument Types.
129 struct ONIXS_BME_SENAF_EXPORT InstrumentType
130 {
131  /// \copydoc InstrumentType
132  enum Enum
133  {
134  /// Undefined.
135  Undefined = 0x0,
136 
137  /// Bonds.
138  Bonds = 0x1,
139 
140  /// Strips.
141  Strips = 0x2,
142 
143  /// Letras ("Bills").
144  Letras = 0x3,
145 
146  /// Treasury Repo MEFE (Meffclear-Iberclear).
147  TreasuryRepoMEFE = 0x4,
148 
149  /// Treasury Repo CNET (Clearnet-Iberclear).
150  TreasuryRepoCNET = 0x5,
151 
152  /// Repo deliverable.
153  RepoDeliverable = 0x6,
154 
155  /// Switch.
156  Switch = 0x7,
157 
158  /// Bilateral Treasury Repo (No CCP-Iberclear).
159  BilateralTreasuryRepo = 0x8,
160 
161  /// GGB (Government Guaranteed Corporate Bond).
162  GGB = 0x9,
163 
164  /// Corporate New Issues.
165  CorporateNewIssues = 0xA,
166 
167  /// Cedulas.
168  Cedulas = 0xB,
169 
170  /// FROB Bonds.
171  FROBBonds = 0xC,
172 
173  /// Reserved for other possible Repo instruments.
174  /// For instance, GGB Repo MEFE, Treasury Repo LCH (LCH-EuroClear), ...
175  Reserved1 = 0x10,
176 
177  /// Reserved for other possible Repo instruments.
178  /// For instance, GGB Repo MEFE, Treasury Repo LCH (LCH-EuroClear), ...
179  Reserved2 = 0x12,
180 
181  /// Reserved for other possible Repo instruments.
182  /// For instance, GGB Repo MEFE, Treasury Repo LCH (LCH-EuroClear), ...
183  Reserved3 = 0x1F
184  };
185 
186  /// Deserializes constant from string representation.
187  static Enum deserialize(const char*);
188 
189  /// Returns string representation.
190  static const char* toString(Enum);
191 };
192 
193 /// Confirmation Types.
194 struct ONIXS_BME_SENAF_EXPORT ConfirmationType
195 {
196  /// \copydoc ConfirmationType
197  enum Enum
198  {
199  /// Undefined.
200  Undefined = 0x0,
201 
202  /// New.
203  New = 0x1,
204 
205  /// New Cross Trade.
206  NewCrossTrade = 0x2,
207 
208  /// Seller rejection.
209  SellerRejection = 0x3,
210 
211  /// Buyer rejection.
212  BuyerRejection = 0x4,
213 
214  /// Time to reject expired.
215  TimeToRejectExpired = 0x5,
216 
217  /// Delivery.
218  Delivery = 0x6,
219 
220  /// Trade Modification.
221  TradeModification = 0x7,
222 
223  /// Trade Cancellation.
224  TradeCancellation = 0x8
225  };
226 
227  /// Deserializes constant from string representation.
228  static Enum deserialize(const char*);
229 
230  /// Returns string representation.
231  static const char* toString(Enum);
232 };
233 
234 /// Trade Status.
235 struct ONIXS_BME_SENAF_EXPORT TradeStatus
236 {
237  /// \copydoc TradeStatus
238  enum Enum
239  {
240  /// Undefined.
241  Undefined = 0x0,
242 
243  /// Confirmed.
244  Confirmed = 0x1,
245 
246  /// Partially Confirmed.
247  PartiallyConfirmed = 0x2,
248 
249  /// Pending on Delivery.
250  PendingOnDelivery = 0x3,
251 
252  /// Pending on possible rejection.
253  PendingOnPossibleRejection = 0x4,
254 
255  /// Rejected.
256  Rejected = 0x5,
257 
258  /// Modificated.
259  Modificated = 0x6,
260 
261  /// Cancellated.
262  Cancellated = 0x7
263  };
264 
265  /// Deserializes constant from string representation.
266  static Enum deserialize(const char*);
267 
268  /// Returns string representation.
269  static const char* toString(Enum);
270 };
271 
272 /// Cash / Term.
273 struct ONIXS_BME_SENAF_EXPORT CashTerm
274 {
275  /// \copydoc CashTerm
276  enum Enum
277  {
278  /// Undefined.
279  Undefined = 0,
280 
281  /// Cash.
282  Cash = 1,
283 
284  /// Term.
285  Term = 2
286  };
287 
288  /// Deserializes constant from string representation.
289  static Enum deserialize(const char*);
290 
291  /// Returns string representation.
292  static const char* toString(Enum);
293 };
294 
295 /// Delivery restrictions.
296 struct ONIXS_BME_SENAF_EXPORT DeliveryRestrictions
297 {
298  /// \copydoc DeliveryRestrictions
299  enum Enum
300  {
301  /// No restriction.
302  NoRestriction = 0x00,
303 
304  /// Not accepted:
305  /// - Deliverables with maturity greater than 10 years.
306  SUB10 = 0x01,
307 
308  /// Not accepted:
309  /// - Letras ("Bills").
310  NO_LT = 0x02,
311 
312  /// Not accepted:
313  /// - Deliverables with maturity greater than 10 years.
314  /// - Letras ("Bills").
315  SUB10_NO_LT = 0x03,
316 
317  /// Not accepted:
318  /// - Strips.
319  NO_ST = 0x04,
320 
321  /// Not accepted:
322  /// - Deliverables with maturity greater than 10 years.
323  /// - Strips.
324  SUB10_NO_ST = 0x05,
325 
326  /// Not accepted:
327  /// - Letras ("Bills").
328  /// - Strips.
329  NO_LT_NO_ST = 0x06,
330 
331  /// Not accepted:
332  /// - Deliverables with maturity greater than 10 years.
333  /// - Letras ("Bills").
334  /// - Strips.
335  SUB10_NO_LT_NO_ST = 0x07,
336  };
337 
338  /// Deserializes constant from string representation.
339  static Enum deserialize(const char*);
340 
341  /// Returns string representation.
342  static const char* toString(Enum);
343 };
344 
345 /// Currency.
346 struct ONIXS_BME_SENAF_EXPORT Currency
347 {
348  /// \copydoc Currency
349  enum Enum
350  {
351  /// Undefined.
352  Undefined = 0x00,
353 
354  /// Cents of Euro.
355  CentsOfEuro = 0x01,
356 
357  /// Cents of Dollar.
358  CentsOfDollar = 0x02,
359  };
360 
361  /// Deserializes constant from string representation.
362  static Enum deserialize(const char*);
363 
364  /// Returns string representation.
365  static const char* toString(Enum);
366 };
367 
368 /// Country.
369 struct ONIXS_BME_SENAF_EXPORT Country
370 {
371  /// \copydoc Country
372  enum Enum
373  {
374  /// Undefined.
375  Undefined = 0x00,
376 
377  /// Spain.
378  Spain = 0x01,
379 
380  /// Germany.
381  Germany = 0x02,
382 
383  /// Italy.
384  Italy = 0x03,
385  };
386 
387  /// Deserializes constant from string representation.
388  static Enum deserialize(const char*);
389 
390  /// Returns string representation.
391  static const char* toString(Enum);
392 };
393 
394 /// CCP.
395 struct ONIXS_BME_SENAF_EXPORT CCP
396 {
397  /// \copydoc CCP
398  enum Enum
399  {
400  /// No CCP.
401  NoCCP = 0x00,
402 
403  /// BME Clearing.
404  BMEClearing = 0x01,
405 
406  /// Eurex clearing AG.
407  EurexClearingAG = 0x02,
408 
409  /// LCH.Clearnet SA.
410  LCHClearnetSA = 0x03,
411  };
412 
413  /// Deserializes constant from string representation.
414  static Enum deserialize(const char*);
415 
416  /// Returns string representation.
417  static const char* toString(Enum);
418 };
419 
420 /// Yield, Price and Cash calculate.
421 struct ONIXS_BME_SENAF_EXPORT YieldCalculation
422 {
423  /// \copydoc YieldCalculation
424  enum Enum
425  {
426  /// No yield calculation.
427  NoYieldCalculation = 0x00,
428 
429  /// Recommendation of EFFAS (actual/actual ICMA).
430  RecommendationOfEFFAS = 0x01,
431 
432  /// True money market.
433  TrueMoneyMarket = 0x02,
434 
435  /// ISMA.
436  ISMA = 0x03,
437  };
438 
439  /// Deserializes constant from string representation.
440  static Enum deserialize(const char*);
441 
442  /// Returns string representation.
443  static const char* toString(Enum);
444 };
445 
446 /// Leg Number.
447 struct ONIXS_BME_SENAF_EXPORT LegNumber
448 {
449  /// \copydoc LegNumber
450  enum Enum
451  {
452  /// Undefined.
453  Undefined = 0x00,
454 
455  /// First Leg.
456  FirstLeg = 0x01,
457 
458  /// Second Leg.
459  SecondLeg = 0x02,
460  };
461 
462  /// Deserializes constant from string representation.
463  static Enum deserialize(const char*);
464 
465  /// Returns string representation.
466  static const char* toString(Enum);
467 };
468 
469 }}} // namespace OnixS::Senaf::MarketData
Yield, Price and Cash calculate.
Definition: Enumerations.h:421
Enum
Yield, Price and Cash calculate.
Definition: Enumerations.h:424