OnixS C++ CME MDP Premium Market Data Handler 5.9.0
API Documentation
Loading...
Searching...
No Matches
MessageListener.h
Go to the documentation of this file.
1// Copyright Onix Solutions Limited [OnixS]. All rights reserved.
2//
3// This software owned by Onix Solutions Limited [OnixS] and is
4// protected by copyright law and international copyright treaties.
5//
6// Access to and use of the software is governed by the terms of the applicable
7// OnixS Software Services Agreement (the Agreement) and Customer end user license
8// agreements granting a non-assignable, non-transferable and non-exclusive license
9// to use the software for it's own data processing purposes under the terms defined
10// in the Agreement.
11//
12// Except as otherwise granted within the terms of the Agreement, copying or
13// reproduction of any part of this source code or associated reference material
14// to any other location for further reproduction or redistribution, and any
15// amendments to this copyright notice, are expressly prohibited.
16//
17// Any reproduction or redistribution for sale or hiring of the Software not in
18// accordance with the terms of the Agreement is a violation of copyright law.
19//
20
21#pragma once
22
25
27
30class ONIXS_CMEMDH_LTWT MessageArgs
31{
32 const NetPacket& packet_;
33 const Message& message_;
34
35 // Coping/cloning is not supposed.
36
37 MessageArgs(const MessageArgs&);
38
39 MessageArgs& operator=(const MessageArgs&);
40
41public:
45 : packet_(packet)
46 , message_(message)
47 {
48 }
49
51 const NetPacket& packet() const
52 {
53 return packet_;
54 }
55
57 const Message& message() const
58 {
59 return message_;
60 }
61};
62
68{
70
72 {
73 onMessage(handler, MessageArgs(args.packet(), ChannelReset4(args.message())));
74 }
75
77 {
78 onEndOfMessage(handler, MessageArgs(args.packet(), ChannelReset4(args.message())));
79 }
80
82 {
83 onMessage(handler, MessageArgs(args.packet(), AdminHeartbeat12(args.message())));
84 }
85
87 {
88 onEndOfMessage(handler, MessageArgs(args.packet(), AdminHeartbeat12(args.message())));
89 }
90
92 {
93 onMessage(handler, MessageArgs(args.packet(), AdminLogin15(args.message())));
94 }
95
97 {
98 onEndOfMessage(handler, MessageArgs(args.packet(), AdminLogin15(args.message())));
99 }
100
101 void onMessage(Handler& handler, const AdminLogout16Args& args) ONIXS_CMEMDH_OVERRIDE
102 {
103 onMessage(handler, MessageArgs(args.packet(), AdminLogout16(args.message())));
104 }
105
107 {
108 onEndOfMessage(handler, MessageArgs(args.packet(), AdminLogout16(args.message())));
109 }
110
112 {
113 onMessage(handler, MessageArgs(args.packet(), SecurityStatus30(args.message())));
114 }
115
117 {
118 onEndOfMessage(handler, MessageArgs(args.packet(), SecurityStatus30(args.message())));
119 }
120
122 {
124 }
125
127 {
129 }
130
132 {
133 onMessage(handler, MessageArgs(args.packet(), QuoteRequest39(args.message())));
134 }
135
137 {
138 onEndOfMessage(handler, MessageArgs(args.packet(), QuoteRequest39(args.message())));
139 }
140
142 {
144 }
145
147 {
149 }
150
152 {
154 }
155
157 {
159 }
160
162 {
164 }
165
167 {
169 }
170
172 {
174 }
175
177 {
179 }
180
182 {
184 }
185
187 {
189 }
190
192 {
194 }
195
197 {
199 }
200
202 {
203 onMessage(handler, MessageArgs(args.packet(), SnapshotFullRefresh52(args.message())));
204 }
205
207 {
209 }
210
212 {
214 }
215
217 {
219 }
220
222 {
224 }
225
227 {
229 }
230
232 {
234 }
235
237 {
239 }
240
242 {
244 }
245
247 {
249 }
250
252 {
254 }
255
257 {
259 }
260
262 {
264 }
265
267 {
269 }
270
272 {
274 }
275
277 {
279 }
280
282 {
284 }
285
287 {
289 }
290
292 {
294 }
295
297 {
299 }
300
302 {
304 }
305
307 {
309 }
310
312 {
314 }
315
317 {
319 }
320
321 void onMessage(Handler& handler, const AdminLogin408Args& args) ONIXS_CMEMDH_OVERRIDE
322 {
323 onMessage(handler, MessageArgs(args.packet(), AdminLogin408(args.message())));
324 }
325
327 {
328 onEndOfMessage(handler, MessageArgs(args.packet(), AdminLogin408(args.message())));
329 }
330
332 {
333 onMessage(handler, MessageArgs(args.packet(), AdminLogout409(args.message())));
334 }
335
337 {
338 onEndOfMessage(handler, MessageArgs(args.packet(), AdminLogout409(args.message())));
339 }
340
342 {
343 onMessage(handler, MessageArgs(args.packet(), AdminHeartbeat410(args.message())));
344 }
345
347 {
348 onEndOfMessage(handler, MessageArgs(args.packet(), AdminHeartbeat410(args.message())));
349 }
350
351
354
355public:
357 virtual void onMessage(Handler&, const MessageArgs&) {}
358
360 virtual void onEndOfMessage(Handler&, const MessageArgs&) {}
361};
362
#define ONIXS_CMEMDHFIX_NAMESPACE_BEGIN
Definition Bootstrap.h:70
#define ONIXS_CMEMDH_LTWT
Definition Bootstrap.h:46
#define ONIXS_CMEMDHFIX_NAMESPACE_END
Definition Bootstrap.h:71
#define ONIXS_CMEMDH_EXPORTED
Definition Compiler.h:171
#define ONIXS_CMEMDH_OVERRIDE
Definition Compiler.h:176
Exposes the FIX message being processed by the Handler and the packet containing it.
MessageArgs(const NetPacket &packet, const Message &message)
Initializes instance with given message instance and packet containing that message.
Callbacks invoked by Handler during market data processing to reflect various stages of processing.
virtual void onEndOfMessage(Handler &, const MessageArgs &)
Invoked when processing of the message is ended.
virtual void onMessage(Handler &, const MessageArgs &)
Invoked when processing of the given message has begun.
Implements FIX-like interface over the SBE-encoded message.
Definition Message.h:216
Encapsulates all the machinery related with market data processing from CME Market Data Platform.
Definition Handler.h:56
const NetPacket & packet() const
Instance of packet containing the message.
const Message & message() const
Instance of message being processed.
MessageArgs< MultiContainer > MultiContainerArgs
MessageArgs template instantiation for a FIX multi-container.
MessageArgs< IncrementalRefreshSessionStatistics51 > IncrementalRefreshSessionStatistics51Args
MessageArgs template instantiation for IncrementalRefreshSessionStatistics51 message type.
MessageArgs< IncrementalRefreshLimitsBanding50 > IncrementalRefreshLimitsBanding50Args
MessageArgs template instantiation for IncrementalRefreshLimitsBanding50 message type.
MessageArgs< IncrementalRefreshVolume37 > IncrementalRefreshVolume37Args
MessageArgs template instantiation for IncrementalRefreshVolume37 message type.
MessageArgs< IncrementalRefreshTradeSummaryLongQty65 > IncrementalRefreshTradeSummaryLongQty65Args
MessageArgs template instantiation for IncrementalRefreshTradeSummaryLongQty65 message type.
MessageArgs< QuoteRequest39 > QuoteRequest39Args
MessageArgs template instantiation for QuoteRequest39 message type.
MessageArgs< InstrumentDefinitionFixedIncome57 > InstrumentDefinitionFixedIncome57Args
MessageArgs template instantiation for InstrumentDefinitionFixedIncome57 message type.
MessageArgs< InstrumentDefinitionFX63 > InstrumentDefinitionFX63Args
MessageArgs template instantiation for InstrumentDefinitionFX63 message type.
MessageArgs< AdminHeartbeat410 > AdminHeartbeat410Args
MessageArgs template instantiation for AdminHeartbeat410 message type.
MessageArgs< AdminLogout16 > AdminLogout16Args
MessageArgs template instantiation for AdminLogout16 message type.
MessageArgs< ChannelReset4 > ChannelReset4Args
MessageArgs template instantiation for ChannelReset4 message type.
MessageArgs< SecurityStatus30 > SecurityStatus30Args
MessageArgs template instantiation for SecurityStatus30 message type.
MessageArgs< AdminLogin408 > AdminLogin408Args
MessageArgs template instantiation for AdminLogin408 message type.
MessageArgs< AdminLogin15 > AdminLogin15Args
MessageArgs template instantiation for AdminLogin15 message type.
MessageArgs< IncrementalRefreshBook46 > IncrementalRefreshBook46Args
MessageArgs template instantiation for IncrementalRefreshBook46 message type.
MessageArgs< AdminHeartbeat12 > AdminHeartbeat12Args
MessageArgs template instantiation for AdminHeartbeat12 message type.
MessageArgs< AdminLogout409 > AdminLogout409Args
MessageArgs template instantiation for AdminLogout409 message type.
MessageArgs< SnapshotFullRefresh52 > SnapshotFullRefresh52Args
MessageArgs template instantiation for SnapshotFullRefresh52 message type.
MessageArgs< IncrementalRefreshBookLongQty64 > IncrementalRefreshBookLongQty64Args
MessageArgs template instantiation for IncrementalRefreshBookLongQty64 message type.
MessageArgs< IncrementalRefreshTradeSummary48 > IncrementalRefreshTradeSummary48Args
MessageArgs template instantiation for IncrementalRefreshTradeSummary48 message type.
MessageArgs< InstrumentDefinitionOption55 > InstrumentDefinitionOption55Args
MessageArgs template instantiation for InstrumentDefinitionOption55 message type.
MessageArgs< IncrementalRefreshOrderBook47 > IncrementalRefreshOrderBook47Args
MessageArgs template instantiation for IncrementalRefreshOrderBook47 message type.
NetPacket PacketArgs
Alias for a type keeping collection of packet-related attributes.
Definition Packet.h:409
MessageArgs< InstrumentDefinitionSpread56 > InstrumentDefinitionSpread56Args
MessageArgs template instantiation for InstrumentDefinitionSpread56 message type.
MessageArgs< IncrementalRefreshVolumeLongQty66 > IncrementalRefreshVolumeLongQty66Args
MessageArgs template instantiation for IncrementalRefreshVolumeLongQty66 message type.
MessageArgs< IncrementalRefreshSessionStatisticsLongQty67 > IncrementalRefreshSessionStatisticsLongQty67Args
MessageArgs template instantiation for IncrementalRefreshSessionStatisticsLongQty67 message type.
MessageArgs< SnapshotFullRefreshLongQty69 > SnapshotFullRefreshLongQty69Args
MessageArgs template instantiation for SnapshotFullRefreshLongQty69 message type.
MessageArgs< SnapshotFullRefreshOrderBook53 > SnapshotFullRefreshOrderBook53Args
MessageArgs template instantiation for SnapshotFullRefreshOrderBook53 message type.
MessageArgs< InstrumentDefinitionFuture54 > InstrumentDefinitionFuture54Args
MessageArgs template instantiation for InstrumentDefinitionFuture54 message type.
MessageArgs< IncrementalRefreshDailyStatistics49 > IncrementalRefreshDailyStatistics49Args
MessageArgs template instantiation for IncrementalRefreshDailyStatistics49 message type.
Callbacks invoked by Handler during market data processing to reflect various stages of processing.
virtual void onPacket(Handler &, const PacketArgs &)
Invoked when processing of packet has begun.
virtual void onEndOfMessage(Handler &, const InstrumentDefinitionFixedIncome57Args &)
Invoked when processing of message of InstrumentDefinitionFixedIncome57 message has ended.
virtual void onMessage(Handler &, const InstrumentDefinitionFixedIncome57Args &)
Invoked when processing of InstrumentDefinitionFixedIncome57 message has begun.