OnixS BME SENAF Handler C++ library  2.2.1
API documentation
ReferencesFieldsUpdate.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>
26 
27 #include <iosfwd>
28 #include <string>
29 #include <vector>
30 
31 namespace OnixS { namespace Senaf { namespace MarketData {
32 
33 struct ONIXS_BME_SENAF_EXPORT ReferencesFieldsUpdate
34 {
35  /// Message code.
36  enum
37  {
38  code = 52
39  };
40 
41  /// Default constructor.
43 
44  /// Message Number.
45  unsigned int messageNumber;
46 
47  /// Market.
48  unsigned char market;
49 
50  /// Instrument Type.
52 
53  /// Field Code and Value.
54  struct Field
55  {
56  /// Field code.
57  unsigned char code;
58 
59  /// Field value.
60  unsigned int value;
61  };
62 
63  /// Alias for collection of fields.
64  typedef std::vector<Field> Fields;
65 
66  /// Reference.
67  struct Reference
68  {
69  /// Reference ID.
70  unsigned short reference;
71 
72  /// Collection of Fields.
73  Fields fields;
74  };
75 
76  /// Alias for collection of References.
77  typedef std::vector<Reference> References;
78 
79  /// Collection of References.
80  References references;
81 
82  /// Returns string representation.
83  std::string toString() const;
84 
85 private:
86  friend class MessageDeserializer;
87  ReferencesFieldsUpdate(const char* data, size_t dataSize);
88  void deserialize(const char* data, size_t dataSize);
89  void reset();
90 };
91 
92 }}} // namespace OnixS::Senaf::MarketData
std::vector< Field > Fields
Alias for collection of fields.
References references
Collection of References.
std::vector< Reference > References
Alias for collection of References.
InstrumentType::Enum instrumentType
Instrument Type.