OnixS BME SENAF Handler C++ library  2.2.1
API documentation
MarketControlListener.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>
42 
43 namespace OnixS { namespace Senaf { namespace MarketData {
44 
45 /// \brief Defines the interface through which the Handler
46 /// notifies subscribers about Market Control Messages.
47 class ONIXS_BME_SENAF_EXPORT MarketControlListener
48 {
49 public:
50  /// Is called once Generic Low Priority (100) Message received.
51  ///
52  /// \param msg Generic Low Priority (100) Message.
53  /// \param msgInfo information about this particular message.
54  virtual void onGenericLowPriorityMessage(
55  const GenericLowPriorityMessage& msg,
56  const MessageInfo& msgInfo
57  ) = 0;
58 
59  /// Is called once Generic Medium Priority (101) Message received.
60  ///
61  /// \param msg Generic Medium Priority (101) Message.
62  /// \param msgInfo information about this particular message.
63  virtual void onGenericMediumPriorityMessage(
65  const MessageInfo& msgInfo
66  ) = 0;
67 
68  /// Is called once Generic High Priority (102) Message received.
69  ///
70  /// \param msg Generic High Priority (102) Message.
71  /// \param msgInfo information about this particular message.
72  virtual void onGenericHighPriorityMessage(
73  const GenericHighPriorityMessage& msg,
74  const MessageInfo& msgInfo
75  ) = 0;
76 
77  /// Is called once Market Request Error (103) Message received.
78  ///
79  /// \param msg Market Request Error (103) Message.
80  /// \param msgInfo information about this particular message.
81  virtual void
82  onMarketRequestError(const MarketRequestError& msg, const MessageInfo& msgInfo) = 0;
83 
84  /// Is called once Terminal Session Start-up Response (104) Message received.
85  ///
86  /// \param msg Terminal Session Start-up Response (104) Message.
87  /// \param msgInfo information about this particular message.
88  virtual void onTerminalSessionStartUpResponse(
90  const MessageInfo& msgInfo
91  ) = 0;
92 
93  /// Is called once General Error (105) Message received.
94  ///
95  /// \param msg General Error (105) Message.
96  /// \param msgInfo information about this particular message.
97  virtual void onGeneralError(const GeneralError& msg, const MessageInfo& msgInfo) = 0;
98 
99  /// Is called once Recovery Start (110) Message received.
100  ///
101  /// \param msg Recovery Start (110) Message.
102  /// \param msgInfo information about this particular message.
103  virtual void onRecoveryStart(const RecoveryStart& msg, const MessageInfo& msgInfo) = 0;
104 
105  /// Is called once Recovery End (111) Message received.
106  ///
107  /// \param msg Recovery End (111) Message.
108  /// \param msgInfo information about this particular message.
109  virtual void onRecoveryEnd(const RecoveryEnd& msg, const MessageInfo& msgInfo) = 0;
110 
111  /// Is called once Market Image Recovery Start (113) Message received.
112  ///
113  /// \param msg Market Image Recovery Start (113) Message.
114  /// \param msgInfo information about this particular message.
115  virtual void
116  onMarketImageRecoveryStart(const MarketImageRecoveryStart& msg, const MessageInfo& msgInfo) = 0;
117 
118  /// Is called once Market Image Recovery End (114) Message received.
119  ///
120  /// \param msg Market Image Recovery End (114) Message.
121  /// \param msgInfo information about this particular message.
122  virtual void
123  onMarketImageRecoveryEnd(const MarketImageRecoveryEnd& msg, const MessageInfo& msgInfo) = 0;
124 
125  /// Is called once System Problems Notification (130) Message received.
126  ///
127  /// \param msg System Problems Notification (130) Message.
128  /// \param msgInfo information about this particular message.
129  virtual void onSystemProblemsNotification(
130  const SystemProblemsNotification& msg,
131  const MessageInfo& msgInfo
132  ) = 0;
133 
134  /// Is called once Information Group Start (133) Message received.
135  ///
136  /// \param msg Information Group Start (133) Message.
137  /// \param msgInfo information about this particular message.
138  virtual void
139  onInformationGroupStart(const InformationGroupStart& msg, const MessageInfo& msgInfo) = 0;
140 
141  /// Is called once Information Group End (134) Message received.
142  ///
143  /// \param msg Information Group End (134) Message.
144  /// \param msgInfo information about this particular message.
145  virtual void
146  onInformationGroupEnd(const InformationGroupEnd& msg, const MessageInfo& msgInfo) = 0;
147 
148  /// Is called once Short Recovery Start (146) Message received.
149  ///
150  /// \param msg Short Recovery Start (146) Message.
151  /// \param msgInfo information about this particular message.
152  virtual void
153  onShortRecoveryStart(const ShortRecoveryStart& msg, const MessageInfo& msgInfo) = 0;
154 
155  /// Is called once Short Recovery End (147) Message received.
156  ///
157  /// \param msg Short Recovery End (147) Message.
158  /// \param msgInfo information about this particular message.
159  virtual void onShortRecoveryEnd(const ShortRecoveryEnd& msg, const MessageInfo& msgInfo) = 0;
160 
161  /// Is called once Gap Fill (160) Message received.
162  ///
163  /// \param msg Gap Fill (160) Message.
164  /// \param msgInfo information about this particular message.
165  virtual void onGapFill(const GapFill& msg, const MessageInfo& msgInfo) = 0;
166 
167 protected:
169 };
170 
171 }}} // namespace OnixS::Senaf::MarketData
Defines the interface through which the Handler notifies subscribers about Market Control Messages...