OnixS Eurex EDCI Handler C++ library 1.0.0
Users' manual and API documentation
Loading...
Searching...
No Matches
SessionListNotification.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
13 * part of this source code or associated reference material to any other location for further
14 * reproduction or redistribution, and any amendments to this copyright notice, are expressly
15 * prohibited.
16 *
17 * Any reproduction or redistribution for sale or hiring of the Software not in accordance with
18 * the terms of the Agreement is a violation of copyright law.
19 */
20
21#pragma once
22
23// Project specific includes
24#include <OnixS/Eurex/DropCopy/Export.h>
26
27// Standard includes
28#include <cstdint>
29#include <iosfwd>
30#include <string>
31#include <vector>
32
33namespace OnixS { namespace Eurex { namespace DropCopy {
34
36class ONIXS_EUREX_EDCI_EXPORT SessionListNotification : public Message
37{
38public:
41
43 class ONIXS_EUREX_EDCI_EXPORT NotifHeaderElem
44 {
45 public:
48
50 std::uint64_t sendingTime;
51
53 std::string toString() const;
54
55 private:
56 friend class Serializer;
57 NotifHeaderElem(const void* data);
58 void nativeSerializeTo(void* data) const;
59 };
60
63
65 class ONIXS_EUREX_EDCI_EXPORT SessionsGrpElem
66 {
67 public:
70
72 std::uint32_t partyIdSessionId;
73
75 std::uint32_t partyIdExecutingUnit;
76
79
82
84 std::string partyExecutingFirm;
85
88
90 std::string toString() const;
91
92 private:
93 friend class Serializer;
94 SessionsGrpElem(const void* data);
95 void nativeSerializeTo(void* data) const;
96 };
97
98 using SessionsGrp = std::vector<SessionsGrpElem>;
100
102 TemplateId::Enum templateId() const override;
103
105 std::string toString() const override;
106
107private:
108 friend class Serializer;
109 SessionListNotification(const void* data, std::size_t dataSize, MessageInfo& msgInfo);
110 void nativeSerializeTo(void* data) override;
111};
112
114ONIXS_EUREX_EDCI_EXPORT std::ostream& operator<<(std::ostream&, const SessionListNotification::NotifHeaderElem&);
115
117ONIXS_EUREX_EDCI_EXPORT std::ostream& operator<<(std::ostream&, const SessionListNotification::SessionsGrpElem&);
118
120ONIXS_EUREX_EDCI_EXPORT std::ostream& operator<<(std::ostream&, const SessionListNotification&);
121
122}}} // namespace OnixS::Eurex::DropCopy
Per-message metadata delivered to listener callbacks.
Definition MessageInfo.h:33
Message base class.
Definition Message.h:35
Header structure for notification messages including sending timestamp.
std::string toString() const
Returns string representation.
Repeating group containing session details accessible to the user.
std::string toString() const
Returns string representation.
std::uint32_t partyIdSponsoredAccessUnit
Identifier of the sponsored access unit associated with the session or order.
std::string partySponsoredAccessUnit
Name of the sponsored access unit.
std::uint32_t partyIdSessionId
Identification of a Trading Session provided by Eurex to a certain business unit.
SessionListNotification()
Initialize default instance.
TemplateId::Enum templateId() const override
Returns template ID.
std::string toString() const override
Returns string representation.
std::ostream & operator<<(std::ostream &, ApplId::Enum)
Make it printable using C++ I/O streams.
Enum
Type of Eurex ETI session.