OnixS BME SENAF Handler C++ library  2.2.1
API documentation
MarketPublicationListener.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>
46 
47 namespace OnixS { namespace Senaf { namespace MarketData {
48 
49 /// \brief Defines the interface through which the Handler
50 /// notifies subscribers about Market Publication Messages.
51 class ONIXS_BME_SENAF_EXPORT MarketPublicationListener
52 {
53 public:
54  /// Is called once Market Image Recovery (012) Message received.
55  ///
56  /// \param msg Market Image Recovery (012) Message.
57  /// \param msgInfo information about this particular message.
58  virtual void
59  onMarketImageRecovery(const MarketImageRecovery& msg, const MessageInfo& msgInfo) = 0;
60 
61  /// Is called once Market Session Start-Up (022) Message received.
62  ///
63  /// \param msg Market Session Start-Up (022) Message.
64  /// \param msgInfo information about this particular message.
65  virtual void
66  onMarketSessionStartUp(const MarketSessionStartUp& msg, const MessageInfo& msgInfo) = 0;
67 
68  /// Is called once Market Session End (020) Message received.
69  ///
70  /// \param msg Market Session End (020) Message.
71  /// \param msgInfo information about this particular message.
72  virtual void onMarketSessionEnd(const MarketSessionEnd& msg, const MessageInfo& msgInfo) = 0;
73 
74  /// Is called once Buy / Sell (002) Involved Message received.
75  ///
76  /// \param msg Buy / Sell (002) Involved Message.
77  /// \param msgInfo information about this particular message.
78  virtual void onBuySellInvolved(const BuySellInvolved& msg, const MessageInfo& msgInfo) = 0;
79 
80  /// Is called once Buy / Sell (003) Not Involved Message received.
81  ///
82  /// \param msg Buy / Sell (003) Not Involved Message.
83  /// \param msgInfo information about this particular message.
84  virtual void
85  onBuySellNotInvolved(const BuySellNotInvolved& msg, const MessageInfo& msgInfo) = 0;
86 
87  /// Is called once Bid / Ask Opening a New Level (006) Involved Message
88  /// received.
89  ///
90  /// \param msg Bid / Ask Opening a New Level (006) Involved Message.
91  /// \param msgInfo information about this particular message.
92  virtual void
93  onBidAskNewLevelInvolved(const BidAskNewLevelInvolved& msg, const MessageInfo& msgInfo) = 0;
94 
95  /// Is called once Bid / Ask Opening a New Level (007) Not Involved Message
96  /// received.
97  ///
98  /// \param msg Bid / Ask Opening a New Level (007) Not Involved Message.
99  /// \param msgInfo information about this particular message.
100  virtual void onBidAskNewLevelNotInvolved(
101  const BidAskNewLevelNotInvolved& msg,
102  const MessageInfo& msgInfo
103  ) = 0;
104 
105  /// Is called once Bid / Ask Existing Level (006) Involved Message received.
106  ///
107  /// \param msg Bid / Ask Existing Level (006) Involved Message.
108  /// \param msgInfo information about this particular message.
109  virtual void onBidAskExistingLevelInvolved(
110  const BidAskExistingLevelInvolved& msg,
111  const MessageInfo& msgInfo
112  ) = 0;
113 
114  /// Is called once Bid / Ask Existing Level (009) Not Involved Message
115  /// received.
116  ///
117  /// \param msg Bid / Ask Existing Level (009) Not Involved Message.
118  /// \param msgInfo information about this particular message.
119  virtual void onBidAskExistingLevelNotInvolved(
121  const MessageInfo& msgInfo
122  ) = 0;
123 
124  /// Is called once Position Modification (010) Involved Message received.
125  ///
126  /// \param msg Position Modification (010) Involved Message.
127  /// \param msgInfo information about this particular message.
128  virtual void onPositionModificationInvolved(
129  const PositionModificationInvolved& msg,
130  const MessageInfo& msgInfo
131  ) = 0;
132 
133  /// Is called once Position Modification (011) Not Involved Message received.
134  ///
135  /// \param msg Position Modification (011) Not Involved Message.
136  /// \param msgInfo information about this particular message.
137  virtual void onPositionModificationNotInvolved(
139  const MessageInfo& msgInfo
140  ) = 0;
141 
142  /// Is called once Position Cancellation (001) Message received.
143  ///
144  /// \param msg Position Cancellation (001) Message.
145  /// \param msgInfo information about this particular message.
146  virtual void
147  onPositionCancellation(const PositionCancellation& msg, const MessageInfo& msgInfo) = 0;
148 
149  /// Is called once Combined Bid / Ask (015) Involved Message received.
150  ///
151  /// \param msg Combined Bid / Ask (015) Involved Message.
152  /// \param msgInfo information about this particular message.
153  virtual void
154  onCombinedBidAskInvolved(const CombinedBidAskInvolved& msg, const MessageInfo& msgInfo) = 0;
155 
156  /// Is called once Combined Bid / Ask (016) Not Involved Message received.
157  ///
158  /// \param msg Combined Bid / Ask (016) Not Involved Message.
159  /// \param msgInfo information about this particular message.
160  virtual void onCombinedBidAskNotInvolved(
161  const CombinedBidAskNotInvolved& msg,
162  const MessageInfo& msgInfo
163  ) = 0;
164 
165  /// Is called once Switching Bid / Ask (023) Involved Message received.
166  ///
167  /// \param msg Switching Bid / Ask (023) Involved Message.
168  /// \param msgInfo information about this particular message.
169  virtual void
170  onSwitchingBidAskInvolved(const SwitchingBidAskInvolved& msg, const MessageInfo& msgInfo) = 0;
171 
172  /// Is called once Switching Bid / Ask (024) Not Involved Message received.
173  ///
174  /// \param msg Switching Bid / Ask (024) Not Involved Message.
175  /// \param msgInfo information about this particular message.
176  virtual void onSwitchingBidAskNotInvolved(
177  const SwitchingBidAskNotInvolved& msg,
178  const MessageInfo& msgInfo
179  ) = 0;
180 
181  /// Is called once Operation Confirmation (004) Involved Message received.
182  ///
183  /// \param msg Operation Confirmation (004) Involved Message.
184  /// \param msgInfo information about this particular message.
185  virtual void onOperationConfirmationInvolved(
187  const MessageInfo& msgInfo
188  ) = 0;
189 
190  /// Is called once Operation Confirmation (005) Not involved Message received.
191  ///
192  /// \param msg Operation Confirmation (005) Not involved Message.
193  /// \param msgInfo information about this particular message.
194  virtual void onOperationConfirmationNotInvolved(
196  const MessageInfo& msgInfo
197  ) = 0;
198 
199  /// Is called once Trading Session Start-Up (013) Message received.
200  ///
201  /// \param msg Trading Session Start-Up (013) Message.
202  /// \param msgInfo information about this particular message.
203  virtual void
204  onTradingSessionStartUp(const TradingSessionStartUp& msg, const MessageInfo& msgInfo) = 0;
205 
206  /// Is called once Trading Session End (014) Message received.
207  ///
208  /// \param msg Trading Session End (014) Message.
209  /// \param msgInfo information about this particular message.
210  virtual void onTradingSessionEnd(const TradingSessionEnd& msg, const MessageInfo& msgInfo) = 0;
211 
212 protected:
214 };
215 
216 }}} // namespace OnixS::Senaf::MarketData
Buy / Sell Exchange Notified to Involved Members.
Combined Bid / Ask Publication Message. Involved.
Switching Bid / Ask Publication Message. Involved.
Switching Bid / Ask Publication Message. Not Involved.
Defines the interface through which the Handler notifies subscribers about Market Publication Message...
Bid / Ask Opening New Level. Not Involved.
Combined Bid / Ask Publication Message. Not Involved.
Buy / Sell Exchange Notified to Members. Not Involved.
Bid / Ask Opening New Level. Involved.