OnixS C++ EuroTLX GTP Market Data Handler  1.4.0
API documentation
Announcements.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 <vector>
23 
28 
29 
30 namespace OnixS {
31 namespace EuroTLX {
32 namespace MarketData {
33 namespace GTP {
34 
35  ///
37  {
38  /// Time the message was generated.
39  UDT timestamp() const
41  {
42  return ordinary<UDT>(3);
43  }
44 
45  ///
48  {
49  return enumeration<AnnouncementType>(11);
50  }
51 
52  /// Headline or subject of the announcement.
53  Alpha headline() const
55  {
56  return fixedStr<50>(12);
57  }
58 
59  /// Text of the announcement.
60  Alpha text() const
62  {
63  return fixedStr<120>(62);
64  }
65 
66  /// Pipe separated Identification numbers of the securities for which the announcement has been sent
67  /// for.
70  {
71  return fixedStr<30>(182);
72  }
73 
74  /// Pipe separated Identification numbers of the underlying securities/markets for which the
75  /// announcement has been sent for.
78  {
79  return fixedStr<30>(212);
80  }
81 
82  ///
83  BitField flags() const
85  {
86  return ordinary<BitField>(242);
87  }
88 
89  /// Total message size.
91 
92  /// Check the given size.
93  static void validateSize(MessageSize size)
94  {
95  if(size < messageSize_)
96  throwIncorrectSize("Announcements", size, messageSize_);
97  }
98 
99  /// Initializes instance over given memory block.
100  AnnouncementsMsg(const void* data, MessageSize size)
102  : BinaryMessage(data, size)
103  {
104  }
105  };
106 
107  /// Serializes object into string.
108  ONIXS_EUROTLX_GTP_API void toStr(std::string&, const AnnouncementsMsg&);
109 
110  /// Serializes object into string.
111  inline std::string toStr(const AnnouncementsMsg& msg)
112  {
113  std::string str;
114  toStr(str, msg);
115  return str;
116  }
117 
118 }
119 }
120 }
121 }
#define ONIXS_EUROTLX_GTP_CONST_OR_CONSTEXPR
Definition: Compiler.h:46
BinaryMessage() ONIXS_EUROTLX_GTP_NOTHROW
Initializes blank instance referencing to nothing.
#define ONIXS_EUROTLX_GTP_NOTHROW
Definition: Compiler.h:27
UInt8 BitField
A single byte used to hold up to eight 1-bit flags. Each bit will represent a Boolean flag...
Definition: Defines.h:82
Alpha underlyingMarket() const ONIXS_EUROTLX_GTP_NOTHROW
Definition: Announcements.h:76
UInt16 MessageSize
Aliases message length type.
Definition: Defines.h:141
ONIXS_EUROTLX_GTP_API void throwIncorrectSize(const std::string &messageName, MessageSize receivedSize, MessageSize expectedSize)
BitField flags() const ONIXS_EUROTLX_GTP_NOTHROW
Definition: Announcements.h:83
Alpha text() const ONIXS_EUROTLX_GTP_NOTHROW
Text of the announcement.
Definition: Announcements.h:60
static ONIXS_EUROTLX_GTP_CONST_OR_CONSTEXPR MessageSize messageSize_
Total message size.
Definition: Announcements.h:90
Alpha instruments() const ONIXS_EUROTLX_GTP_NOTHROW
Definition: Announcements.h:68
AnnouncementType::Enum type() const ONIXS_EUROTLX_GTP_NOTHROW
Definition: Announcements.h:46
UDT timestamp() const ONIXS_EUROTLX_GTP_NOTHROW
Time the message was generated.
Definition: Announcements.h:39
Encapsulates services for manipulating little endian encoded messages.
Provides efficient way of accessing text-based FIX field values.
Definition: String.h:45
AnnouncementsMsg(const void *data, MessageSize size) ONIXS_EUROTLX_GTP_NOTHROW
Initializes instance over given memory block.
UInt64 UDT
time stamp (in UTC) = (date time per second resolution in unix time format) * 1,000,000,000 + (nanoseconds component)
Definition: Defines.h:94
Alpha headline() const ONIXS_EUROTLX_GTP_NOTHROW
Headline or subject of the announcement.
Definition: Announcements.h:53
ONIXS_EUROTLX_GTP_API void toStr(std::string &, EventCode::Enum)
Appends string presentation of object.
static void validateSize(MessageSize size)
Check the given size.
Definition: Announcements.h:93