OnixS C++ CME Streamlined Market Data Handler  1.0.0.4
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 /// Callbacks invoked by Handler during market data
164 /// processing to reflect various stages of processing.
167 {
168  /// Invoked when processing of packet has begun.
169  virtual
170  void
172  Handler&,
173  const PacketArgs&)
174  {
175  }
176 
177  /// Invoked when processing of packet has ended.
178  virtual
179  void
181  Handler&,
182  const PacketArgs&)
183  {
184  }
185 
186  /// Invoked when processing of
187  /// AdminHeartbeat312 message has begun.
188  virtual
189  void
191  Handler&,
192  const AdminHeartbeat312Args&)
193  {
194  }
195 
196  /// Invoked when processing of message of
197  /// AdminHeartbeat312 message has ended.
198  virtual
199  void
201  Handler&,
202  const AdminHeartbeat312Args&)
203  {
204  }
205 
206  /// Invoked when processing of
207  /// AdminLogin315 message has begun.
208  virtual
209  void
211  Handler&,
212  const AdminLogin315Args&)
213  {
214  }
215 
216  /// Invoked when processing of message of
217  /// AdminLogin315 message has ended.
218  virtual
219  void
221  Handler&,
222  const AdminLogin315Args&)
223  {
224  }
225 
226  /// Invoked when processing of
227  /// AdminLogout316 message has begun.
228  virtual
229  void
231  Handler&,
232  const AdminLogout316Args&)
233  {
234  }
235 
236  /// Invoked when processing of message of
237  /// AdminLogout316 message has ended.
238  virtual
239  void
241  Handler&,
242  const AdminLogout316Args&)
243  {
244  }
245 
246  /// Invoked when processing of
247  /// IncrementalRefreshErisReferenceDataAndDailyStatistics333 message has begun.
248  virtual
249  void
251  Handler&,
253  {
254  }
255 
256  /// Invoked when processing of message of
257  /// IncrementalRefreshErisReferenceDataAndDailyStatistics333 message has ended.
258  virtual
259  void
261  Handler&,
263  {
264  }
265 
266  /// Invoked when processing of
267  /// NewsIndices339 message has begun.
268  virtual
269  void
271  Handler&,
272  const NewsIndices339Args&)
273  {
274  }
275 
276  /// Invoked when processing of message of
277  /// NewsIndices339 message has ended.
278  virtual
279  void
281  Handler&,
282  const NewsIndices339Args&)
283  {
284  }
285 
286  /// Invoked when processing of
287  /// IncrementalRefreshTradeBlocks340 message has begun.
288  virtual
289  void
291  Handler&,
293  {
294  }
295 
296  /// Invoked when processing of message of
297  /// IncrementalRefreshTradeBlocks340 message has ended.
298  virtual
299  void
301  Handler&,
303  {
304  }
305 
306  /// Invoked when processing of
307  /// QuoteRequest345 message has begun.
308  virtual
309  void
311  Handler&,
312  const QuoteRequest345Args&)
313  {
314  }
315 
316  /// Invoked when processing of message of
317  /// QuoteRequest345 message has ended.
318  virtual
319  void
321  Handler&,
322  const QuoteRequest345Args&)
323  {
324  }
325 
326  /// Invoked when processing of
327  /// InstrumentDefinitionIndices347 message has begun.
328  virtual
329  void
331  Handler&,
333  {
334  }
335 
336  /// Invoked when processing of message of
337  /// InstrumentDefinitionIndices347 message has ended.
338  virtual
339  void
341  Handler&,
343  {
344  }
345 
346  /// Invoked when processing of
347  /// IncrementalRefreshIndices348 message has begun.
348  virtual
349  void
351  Handler&,
353  {
354  }
355 
356  /// Invoked when processing of message of
357  /// IncrementalRefreshIndices348 message has ended.
358  virtual
359  void
361  Handler&,
363  {
364  }
365 
366  /// Invoked when processing of
367  /// IncrementalRefreshTradeBlocks349 message has begun.
368  virtual
369  void
371  Handler&,
373  {
374  }
375 
376  /// Invoked when processing of message of
377  /// IncrementalRefreshTradeBlocks349 message has ended.
378  virtual
379  void
381  Handler&,
383  {
384  }
385 
386  /// Invoked when processing of
387  /// IncrementalRefreshEris351 message has begun.
388  virtual
389  void
391  Handler&,
393  {
394  }
395 
396  /// Invoked when processing of message of
397  /// IncrementalRefreshEris351 message has ended.
398  virtual
399  void
401  Handler&,
403  {
404  }
405 
406  /// Invoked when processing of
407  /// IncrementalRefreshEris353 message has begun.
408  virtual
409  void
411  Handler&,
413  {
414  }
415 
416  /// Invoked when processing of message of
417  /// IncrementalRefreshEris353 message has ended.
418  virtual
419  void
421  Handler&,
423  {
424  }
425 
426  /// Invoked when processing of
427  /// IncrementalRefreshOTC356 message has begun.
428  virtual
429  void
431  Handler&,
433  {
434  }
435 
436  /// Invoked when processing of message of
437  /// IncrementalRefreshOTC356 message has ended.
438  virtual
439  void
441  Handler&,
443  {
444  }
445 
446  /// Invoked when processing of
447  /// InstrumentDefinitionEris363 message has begun.
448  virtual
449  void
451  Handler&,
453  {
454  }
455 
456  /// Invoked when processing of message of
457  /// InstrumentDefinitionEris363 message has ended.
458  virtual
459  void
461  Handler&,
463  {
464  }
465 
466 };
467 
virtual void onEndOfMessage(Handler &, const IncrementalRefreshEris353Args &)
MessageArgs< QuoteRequest345 > QuoteRequest345Args
virtual void onEndOfMessage(Handler &, const IncrementalRefreshEris351Args &)
virtual void onEndOfMessage(Handler &, const AdminHeartbeat312Args &)
virtual void onMessage(Handler &, const IncrementalRefreshEris351Args &)
virtual void onMessage(Handler &, const QuoteRequest345Args &)
virtual void onMessage(Handler &, const IncrementalRefreshOTC356Args &)
MessageArgs< AdminLogout316 > AdminLogout316Args
virtual void onMessage(Handler &, const AdminLogout316Args &)
#define ONIXS_CMESTREAMLINEDMDH_EXPORTED_CLASS_DECL(typeName)
Definition: Bootstrap.h:54
virtual void onPacket(Handler &, const PacketArgs &)
Invoked when processing of packet has begun.
virtual void onEndOfMessage(Handler &, const QuoteRequest345Args &)
MessageArgs< InstrumentDefinitionIndices347 > InstrumentDefinitionIndices347Args
virtual void onEndOfPacket(Handler &, const PacketArgs &)
Invoked when processing of packet has ended.
virtual void onEndOfMessage(Handler &, const IncrementalRefreshErisReferenceDataAndDailyStatistics333Args &)
MessageArgs< IncrementalRefreshIndices348 > IncrementalRefreshIndices348Args
virtual void onMessage(Handler &, const NewsIndices339Args &)
virtual void onEndOfMessage(Handler &, const IncrementalRefreshTradeBlocks340Args &)
virtual void onMessage(Handler &, const InstrumentDefinitionIndices347Args &)
MessageArgs(const NetPacket &packet, const Message &message)
MessageArgs< AdminHeartbeat312 > AdminHeartbeat312Args
#define ONIXS_CMESTREAMLINEDMDH_NAMESPACE_END
Definition: Bootstrap.h:172
virtual void onMessage(Handler &, const AdminLogin315Args &)
virtual void onMessage(Handler &, const IncrementalRefreshEris353Args &)
virtual void onEndOfMessage(Handler &, const AdminLogin315Args &)
virtual void onEndOfMessage(Handler &, const NewsIndices339Args &)
virtual void onMessage(Handler &, const IncrementalRefreshTradeBlocks340Args &)
virtual void onMessage(Handler &, const InstrumentDefinitionEris363Args &)
MessageArgs< IncrementalRefreshTradeBlocks340 > IncrementalRefreshTradeBlocks340Args
MessageArgs< IncrementalRefreshErisReferenceDataAndDailyStatistics333 > IncrementalRefreshErisReferenceDataAndDailyStatistics333Args
virtual void onEndOfMessage(Handler &, const IncrementalRefreshTradeBlocks349Args &)
MessageArgs< IncrementalRefreshEris351 > IncrementalRefreshEris351Args
MessageArgs< IncrementalRefreshEris353 > IncrementalRefreshEris353Args
const NetPacket & packet() const
Instance of packet containing the message.
MessageArgs< IncrementalRefreshOTC356 > IncrementalRefreshOTC356Args
MessageArgs< NewsIndices339 > NewsIndices339Args
virtual void onEndOfMessage(Handler &, const AdminLogout316Args &)
const Message & message() const
Instance of message being processed.
#define ONIXS_CMESTREAMLINEDMDH_EXPORTED_STRUCT
Definition: Bootstrap.h:66
MessageArgs< AdminLogin315 > AdminLogin315Args
virtual void onEndOfMessage(Handler &, const IncrementalRefreshIndices348Args &)
virtual void onEndOfMessage(Handler &, const InstrumentDefinitionIndices347Args &)
virtual void onMessage(Handler &, const IncrementalRefreshTradeBlocks349Args &)
virtual void onMessage(Handler &, const IncrementalRefreshIndices348Args &)
MessageArgs< IncrementalRefreshTradeBlocks349 > IncrementalRefreshTradeBlocks349Args
MessageArgs< InstrumentDefinitionEris363 > InstrumentDefinitionEris363Args
virtual void onEndOfMessage(Handler &, const IncrementalRefreshOTC356Args &)
virtual void onMessage(Handler &, const IncrementalRefreshErisReferenceDataAndDailyStatistics333Args &)
virtual void onEndOfMessage(Handler &, const InstrumentDefinitionEris363Args &)
#define ONIXS_CMESTREAMLINEDMDH_NAMESPACE_BEGIN
Definition: Bootstrap.h:168
virtual void onMessage(Handler &, const AdminHeartbeat312Args &)