OnixS C++ CME MDP Streamlined Market Data Handler  1.2.0
API Documentation
MarketDataListener.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 
29 
30 /// Collection of market data supplied
31 /// via message processing callbacks.
32 template
33 <
34  class MessageType
35 >
37 {
38 public:
39  /// Type of message whose instance
40  /// is referenced by given arguments.
41  typedef MessageType Message;
42 
43  /// Initializes instance with given message
44  /// instance and packet containing that message.
46  const NetPacket& packet,
47  const Message& message)
48  : packet_(packet)
49  , message_(message)
50  {
51  }
52 
53  /// Instance of packet containing the message.
54  const NetPacket& packet() const
55  {
56  return packet_;
57  }
58 
59  /// Instance of message being processed.
60  const Message& message() const
61  {
62  return message_;
63  }
64 
65 private:
66  const NetPacket& packet_;
67  const Message& message_;
68 
69  // Coping/cloning is not supposed.
70 
72  const MessageArgs&);
73 
74  MessageArgs&
75  operator =(
76  const MessageArgs&);
77 };
78 
79 /// MessageArgs template instantiation
80 /// for AdminHeartbeat312 message type.
81 typedef
84 
85 /// MessageArgs template instantiation
86 /// for AdminLogin315 message type.
87 typedef
90 
91 /// MessageArgs template instantiation
92 /// for AdminLogout316 message type.
93 typedef
96 
97 /// MessageArgs template instantiation
98 /// for IncrementalRefreshErisReferenceDataAndDailyStatistics333 message type.
99 typedef
102 
103 /// MessageArgs template instantiation
104 /// for NewsIndices339 message type.
105 typedef
108 
109 /// MessageArgs template instantiation
110 /// for IncrementalRefreshTradeBlocks340 message type.
111 typedef
114 
115 /// MessageArgs template instantiation
116 /// for QuoteRequest345 message type.
117 typedef
120 
121 /// MessageArgs template instantiation
122 /// for InstrumentDefinitionIndices347 message type.
123 typedef
126 
127 /// MessageArgs template instantiation
128 /// for IncrementalRefreshIndices348 message type.
129 typedef
132 
133 /// MessageArgs template instantiation
134 /// for IncrementalRefreshTradeBlocks349 message type.
135 typedef
138 
139 /// MessageArgs template instantiation
140 /// for IncrementalRefreshEris351 message type.
141 typedef
144 
145 /// MessageArgs template instantiation
146 /// for IncrementalRefreshEris353 message type.
147 typedef
150 
151 /// MessageArgs template instantiation
152 /// for IncrementalRefreshOTC356 message type.
153 typedef
156 
157 /// MessageArgs template instantiation
158 /// for InstrumentDefinitionEris363 message type.
159 typedef
162 
163 /// MessageArgs template instantiation
164 /// for IncrementalRefreshTradeBlocks365 message type.
165 typedef
168 
169 /// MessageArgs template instantiation
170 /// for IncrementalRefreshOTC366 message type.
171 typedef
174 
175 /// Callbacks invoked by Handler during market data
176 /// processing to reflect various stages of processing.
179 {
180  /// Invoked when processing of packet has begun.
181  virtual
182  void
184  Handler&,
185  const PacketArgs&)
186  {
187  }
188 
189  /// Invoked when processing of packet has ended.
190  virtual
191  void
193  Handler&,
194  const PacketArgs&)
195  {
196  }
197 
198  /// Invoked when processing of
199  /// AdminHeartbeat312 message has begun.
200  virtual
201  void
203  Handler&,
204  const AdminHeartbeat312Args&)
205  {
206  }
207 
208  /// Invoked when processing of message of
209  /// AdminHeartbeat312 message has ended.
210  virtual
211  void
213  Handler&,
214  const AdminHeartbeat312Args&)
215  {
216  }
217 
218  /// Invoked when processing of
219  /// AdminLogin315 message has begun.
220  virtual
221  void
223  Handler&,
224  const AdminLogin315Args&)
225  {
226  }
227 
228  /// Invoked when processing of message of
229  /// AdminLogin315 message has ended.
230  virtual
231  void
233  Handler&,
234  const AdminLogin315Args&)
235  {
236  }
237 
238  /// Invoked when processing of
239  /// AdminLogout316 message has begun.
240  virtual
241  void
243  Handler&,
244  const AdminLogout316Args&)
245  {
246  }
247 
248  /// Invoked when processing of message of
249  /// AdminLogout316 message has ended.
250  virtual
251  void
253  Handler&,
254  const AdminLogout316Args&)
255  {
256  }
257 
258  /// Invoked when processing of
259  /// IncrementalRefreshErisReferenceDataAndDailyStatistics333 message has begun.
260  virtual
261  void
263  Handler&,
265  {
266  }
267 
268  /// Invoked when processing of message of
269  /// IncrementalRefreshErisReferenceDataAndDailyStatistics333 message has ended.
270  virtual
271  void
273  Handler&,
275  {
276  }
277 
278  /// Invoked when processing of
279  /// NewsIndices339 message has begun.
280  virtual
281  void
283  Handler&,
284  const NewsIndices339Args&)
285  {
286  }
287 
288  /// Invoked when processing of message of
289  /// NewsIndices339 message has ended.
290  virtual
291  void
293  Handler&,
294  const NewsIndices339Args&)
295  {
296  }
297 
298  /// Invoked when processing of
299  /// IncrementalRefreshTradeBlocks340 message has begun.
300  virtual
301  void
303  Handler&,
305  {
306  }
307 
308  /// Invoked when processing of message of
309  /// IncrementalRefreshTradeBlocks340 message has ended.
310  virtual
311  void
313  Handler&,
315  {
316  }
317 
318  /// Invoked when processing of
319  /// QuoteRequest345 message has begun.
320  virtual
321  void
323  Handler&,
324  const QuoteRequest345Args&)
325  {
326  }
327 
328  /// Invoked when processing of message of
329  /// QuoteRequest345 message has ended.
330  virtual
331  void
333  Handler&,
334  const QuoteRequest345Args&)
335  {
336  }
337 
338  /// Invoked when processing of
339  /// InstrumentDefinitionIndices347 message has begun.
340  virtual
341  void
343  Handler&,
345  {
346  }
347 
348  /// Invoked when processing of message of
349  /// InstrumentDefinitionIndices347 message has ended.
350  virtual
351  void
353  Handler&,
355  {
356  }
357 
358  /// Invoked when processing of
359  /// IncrementalRefreshIndices348 message has begun.
360  virtual
361  void
363  Handler&,
365  {
366  }
367 
368  /// Invoked when processing of message of
369  /// IncrementalRefreshIndices348 message has ended.
370  virtual
371  void
373  Handler&,
375  {
376  }
377 
378  /// Invoked when processing of
379  /// IncrementalRefreshTradeBlocks349 message has begun.
380  virtual
381  void
383  Handler&,
385  {
386  }
387 
388  /// Invoked when processing of message of
389  /// IncrementalRefreshTradeBlocks349 message has ended.
390  virtual
391  void
393  Handler&,
395  {
396  }
397 
398  /// Invoked when processing of
399  /// IncrementalRefreshEris351 message has begun.
400  virtual
401  void
403  Handler&,
405  {
406  }
407 
408  /// Invoked when processing of message of
409  /// IncrementalRefreshEris351 message has ended.
410  virtual
411  void
413  Handler&,
415  {
416  }
417 
418  /// Invoked when processing of
419  /// IncrementalRefreshEris353 message has begun.
420  virtual
421  void
423  Handler&,
425  {
426  }
427 
428  /// Invoked when processing of message of
429  /// IncrementalRefreshEris353 message has ended.
430  virtual
431  void
433  Handler&,
435  {
436  }
437 
438  /// Invoked when processing of
439  /// IncrementalRefreshOTC356 message has begun.
440  virtual
441  void
443  Handler&,
445  {
446  }
447 
448  /// Invoked when processing of message of
449  /// IncrementalRefreshOTC356 message has ended.
450  virtual
451  void
453  Handler&,
455  {
456  }
457 
458  /// Invoked when processing of
459  /// InstrumentDefinitionEris363 message has begun.
460  virtual
461  void
463  Handler&,
465  {
466  }
467 
468  /// Invoked when processing of message of
469  /// InstrumentDefinitionEris363 message has ended.
470  virtual
471  void
473  Handler&,
475  {
476  }
477 
478  /// Invoked when processing of
479  /// IncrementalRefreshTradeBlocks365 message has begun.
480  virtual
481  void
483  Handler&,
485  {
486  }
487 
488  /// Invoked when processing of message of
489  /// IncrementalRefreshTradeBlocks365 message has ended.
490  virtual
491  void
493  Handler&,
495  {
496  }
497 
498  /// Invoked when processing of
499  /// IncrementalRefreshOTC366 message has begun.
500  virtual
501  void
503  Handler&,
505  {
506  }
507 
508  /// Invoked when processing of message of
509  /// IncrementalRefreshOTC366 message has ended.
510  virtual
511  void
513  Handler&,
515  {
516  }
517 
518 };
519 
virtual void onEndOfMessage(Handler &, const IncrementalRefreshEris353Args &)
Invoked when processing of message of IncrementalRefreshEris353 message has ended.
MessageArgs< QuoteRequest345 > QuoteRequest345Args
MessageArgs template instantiation for QuoteRequest345 message type.
virtual void onEndOfMessage(Handler &, const IncrementalRefreshEris351Args &)
Invoked when processing of message of IncrementalRefreshEris351 message has ended.
virtual void onEndOfMessage(Handler &, const AdminHeartbeat312Args &)
Invoked when processing of message of AdminHeartbeat312 message has ended.
virtual void onMessage(Handler &, const IncrementalRefreshEris351Args &)
Invoked when processing of IncrementalRefreshEris351 message has begun.
virtual void onMessage(Handler &, const QuoteRequest345Args &)
Invoked when processing of QuoteRequest345 message has begun.
virtual void onMessage(Handler &, const IncrementalRefreshOTC356Args &)
Invoked when processing of IncrementalRefreshOTC356 message has begun.
MessageArgs< AdminLogout316 > AdminLogout316Args
MessageArgs template instantiation for AdminLogout316 message type.
virtual void onMessage(Handler &, const AdminLogout316Args &)
Invoked when processing of AdminLogout316 message has begun.
#define ONIXS_CMESTREAMLINEDMDH_EXPORTED_CLASS_DECL(typeName)
Definition: Bootstrap.h:55
virtual void onPacket(Handler &, const PacketArgs &)
Invoked when processing of packet has begun.
virtual void onEndOfMessage(Handler &, const QuoteRequest345Args &)
Invoked when processing of message of QuoteRequest345 message has ended.
MessageArgs< IncrementalRefreshTradeBlocks365 > IncrementalRefreshTradeBlocks365Args
MessageArgs template instantiation for IncrementalRefreshTradeBlocks365 message type.
MessageArgs< InstrumentDefinitionIndices347 > InstrumentDefinitionIndices347Args
MessageArgs template instantiation for InstrumentDefinitionIndices347 message type.
virtual void onEndOfPacket(Handler &, const PacketArgs &)
Invoked when processing of packet has ended.
virtual void onEndOfMessage(Handler &, const IncrementalRefreshErisReferenceDataAndDailyStatistics333Args &)
Invoked when processing of message of IncrementalRefreshErisReferenceDataAndDailyStatistics333 messag...
MessageArgs< IncrementalRefreshIndices348 > IncrementalRefreshIndices348Args
MessageArgs template instantiation for IncrementalRefreshIndices348 message type. ...
Collection of market data supplied via message processing callbacks.
virtual void onMessage(Handler &, const NewsIndices339Args &)
Invoked when processing of NewsIndices339 message has begun.
virtual void onEndOfMessage(Handler &, const IncrementalRefreshTradeBlocks340Args &)
Invoked when processing of message of IncrementalRefreshTradeBlocks340 message has ended...
virtual void onEndOfMessage(Handler &, const IncrementalRefreshTradeBlocks365Args &)
Invoked when processing of message of IncrementalRefreshTradeBlocks365 message has ended...
virtual void onMessage(Handler &, const InstrumentDefinitionIndices347Args &)
Invoked when processing of InstrumentDefinitionIndices347 message has begun.
MessageArgs(const NetPacket &packet, const Message &message)
Initializes instance with given message instance and packet containing that message.
MessageArgs< AdminHeartbeat312 > AdminHeartbeat312Args
MessageArgs template instantiation for AdminHeartbeat312 message type.
#define ONIXS_CMESTREAMLINEDMDH_NAMESPACE_END
Definition: Bootstrap.h:173
virtual void onMessage(Handler &, const AdminLogin315Args &)
Invoked when processing of AdminLogin315 message has begun.
virtual void onMessage(Handler &, const IncrementalRefreshEris353Args &)
Invoked when processing of IncrementalRefreshEris353 message has begun.
virtual void onEndOfMessage(Handler &, const AdminLogin315Args &)
Invoked when processing of message of AdminLogin315 message has ended.
virtual void onEndOfMessage(Handler &, const NewsIndices339Args &)
Invoked when processing of message of NewsIndices339 message has ended.
virtual void onMessage(Handler &, const IncrementalRefreshTradeBlocks340Args &)
Invoked when processing of IncrementalRefreshTradeBlocks340 message has begun.
virtual void onMessage(Handler &, const InstrumentDefinitionEris363Args &)
Invoked when processing of InstrumentDefinitionEris363 message has begun.
MessageArgs< IncrementalRefreshTradeBlocks340 > IncrementalRefreshTradeBlocks340Args
MessageArgs template instantiation for IncrementalRefreshTradeBlocks340 message type.
MessageArgs< IncrementalRefreshErisReferenceDataAndDailyStatistics333 > IncrementalRefreshErisReferenceDataAndDailyStatistics333Args
MessageArgs template instantiation for IncrementalRefreshErisReferenceDataAndDailyStatistics333 messa...
virtual void onEndOfMessage(Handler &, const IncrementalRefreshTradeBlocks349Args &)
Invoked when processing of message of IncrementalRefreshTradeBlocks349 message has ended...
virtual void onEndOfMessage(Handler &, const IncrementalRefreshOTC366Args &)
Invoked when processing of message of IncrementalRefreshOTC366 message has ended. ...
MessageArgs< IncrementalRefreshEris351 > IncrementalRefreshEris351Args
MessageArgs template instantiation for IncrementalRefreshEris351 message type.
MessageArgs< IncrementalRefreshEris353 > IncrementalRefreshEris353Args
MessageArgs template instantiation for IncrementalRefreshEris353 message type.
const NetPacket & packet() const
Instance of packet containing the message.
MessageArgs< IncrementalRefreshOTC356 > IncrementalRefreshOTC356Args
MessageArgs template instantiation for IncrementalRefreshOTC356 message type.
MessageType Message
Type of message whose instance is referenced by given arguments.
MessageArgs< NewsIndices339 > NewsIndices339Args
MessageArgs template instantiation for NewsIndices339 message type.
virtual void onEndOfMessage(Handler &, const AdminLogout316Args &)
Invoked when processing of message of AdminLogout316 message has ended.
const Message & message() const
Instance of message being processed.
#define ONIXS_CMESTREAMLINEDMDH_EXPORTED_STRUCT
Definition: Bootstrap.h:67
MessageArgs< AdminLogin315 > AdminLogin315Args
MessageArgs template instantiation for AdminLogin315 message type.
virtual void onEndOfMessage(Handler &, const IncrementalRefreshIndices348Args &)
Invoked when processing of message of IncrementalRefreshIndices348 message has ended.
virtual void onEndOfMessage(Handler &, const InstrumentDefinitionIndices347Args &)
Invoked when processing of message of InstrumentDefinitionIndices347 message has ended.
virtual void onMessage(Handler &, const IncrementalRefreshTradeBlocks349Args &)
Invoked when processing of IncrementalRefreshTradeBlocks349 message has begun.
virtual void onMessage(Handler &, const IncrementalRefreshIndices348Args &)
Invoked when processing of IncrementalRefreshIndices348 message has begun.
virtual void onMessage(Handler &, const IncrementalRefreshTradeBlocks365Args &)
Invoked when processing of IncrementalRefreshTradeBlocks365 message has begun.
Callbacks invoked by Handler during market data processing to reflect various stages of processing...
MessageArgs< IncrementalRefreshTradeBlocks349 > IncrementalRefreshTradeBlocks349Args
MessageArgs template instantiation for IncrementalRefreshTradeBlocks349 message type.
MessageArgs< InstrumentDefinitionEris363 > InstrumentDefinitionEris363Args
MessageArgs template instantiation for InstrumentDefinitionEris363 message type.
virtual void onEndOfMessage(Handler &, const IncrementalRefreshOTC356Args &)
Invoked when processing of message of IncrementalRefreshOTC356 message has ended. ...
MessageArgs< IncrementalRefreshOTC366 > IncrementalRefreshOTC366Args
MessageArgs template instantiation for IncrementalRefreshOTC366 message type.
virtual void onMessage(Handler &, const IncrementalRefreshOTC366Args &)
Invoked when processing of IncrementalRefreshOTC366 message has begun.
virtual void onMessage(Handler &, const IncrementalRefreshErisReferenceDataAndDailyStatistics333Args &)
Invoked when processing of IncrementalRefreshErisReferenceDataAndDailyStatistics333 message has begun...
Encapsulates all the machinery related with market data processing from CME Market Data Platform...
Definition: Handler.h:50
virtual void onEndOfMessage(Handler &, const InstrumentDefinitionEris363Args &)
Invoked when processing of message of InstrumentDefinitionEris363 message has ended.
#define ONIXS_CMESTREAMLINEDMDH_NAMESPACE_BEGIN
Definition: Bootstrap.h:169
virtual void onMessage(Handler &, const AdminHeartbeat312Args &)
Invoked when processing of AdminHeartbeat312 message has begun.