OnixS BME SENAF Handler C++ library  2.2.1
API documentation
PositionCancellation.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>
27 
28 #include <iosfwd>
29 #include <string>
30 #include <vector>
31 
32 namespace OnixS { namespace Senaf { namespace MarketData {
33 
34 /// Market Image Recovery.
35 struct ONIXS_BME_SENAF_EXPORT PositionCancellation
36 {
37  /// Message code.
38  enum
39  {
40  code = 1
41  };
42 
43  /// Default constructor.
45 
46  /// Message Number.
47  unsigned int messageNumber;
48 
49  /// Market.
50  unsigned char market;
51 
52  /// Publication Time.
54 
55  /// Instrument Type.
57 
58  /// Existence of more messages.
60 
61  /// Position.
62  struct Position
63  {
64  /// Constructor.
65  Position();
66 
67  /// Level.
68  unsigned char level;
69 
70  /// Position.
71  unsigned char position;
72 
73  /// Side.
75 
76  /// Returns string representation.
77  std::string toString() const;
78  };
79 
80  /// Alias for collection of Position.
81  typedef std::vector<Position> Positions;
82 
83  /// Reference.
84  struct Reference
85  {
86  /// Constructor.
87  Reference();
88 
89  /// Reference.
90  unsigned short reference;
91 
92  /// Collection of Positions.
93  Positions positions;
94 
95  /// Returns string representation.
96  std::string toString() const;
97  };
98 
99  /// Alias for collection of References.
100  typedef std::vector<Reference> References;
101 
102  /// Collection of References.
103  References references;
104 
105  /// Original Request Number.
106  unsigned int originalRequestNumber;
107 
108  /// Returns string representation.
109  std::string toString() const;
110 
111 private:
112  friend class MessageDeserializer;
113  PositionCancellation(const char* data, size_t dataSize);
114  void deserialize(const char* data, size_t dataSize);
115  void reset();
116 };
117 
118 /// Make it printable using C++ I/O streams.
119 ONIXS_BME_SENAF_EXPORT std::ostream& operator<<(std::ostream&, const PositionCancellation&);
120 
121 }}} // namespace OnixS::Senaf::MarketData
std::vector< Position > Positions
Alias for collection of Position.
std::vector< Reference > References
Alias for collection of References.
unsigned int originalRequestNumber
Original Request Number.
std::ostream & operator<<(std::ostream &, const Error &)
Make it printable to formatted C++ I/O streams.
References references
Collection of References.
InstrumentType::Enum instrumentType
Instrument Type.
bool existenceOfMoreMessages
Existence of more messages.