OnixS C++ Cboe CFE Multicast PITCH Market Data Handler  1.10.3
API documentation
MessageListener.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 copyright law
5 * and international copyright treaties.
6 *
7 * Access to and use of the software is governed by the terms of the applicable ONIXS Software
8 * Services Agreement (the Agreement) and Customer end user license agreements granting
9 * a non-assignable, non-transferable and non-exclusive license to use the software
10 * for it's own data processing purposes under the terms defined in the Agreement.
11 *
12 * Except as otherwise granted within the terms of the Agreement, copying or reproduction of any part
13 * of this source code or associated reference material to any other location for further reproduction
14 * or redistribution, and any amendments to this copyright notice, are expressly prohibited.
15 *
16 * Any reproduction or redistribution for sale or hiring of the Software not in accordance with
17 * the terms of the Agreement is a violation of copyright law.
18 */
19 
20 #pragma once
21 
25 
26 
27 namespace OnixS {
28 namespace CboeCFE {
29 namespace MarketData {
30 namespace Pitch {
31 
32  struct TimeMsg;
33  struct UnitClearMsg;
34  struct TimeReferenceMsg;
35  struct FuturesInstrumentDefinitionMsg;
36  struct PriceLimitsMsg;
37  struct AddOrderLongMsg;
38  struct AddOrderShortMsg;
39  struct OrderExecutedMsg;
40  struct ReduceSizeLongMsg;
41  struct ReduceSizeShortMsg;
42  struct ModifyOrderLongMsg;
43  struct ModifyOrderShortMsg;
44  struct DeleteOrderMsg;
45  struct TradeLongMsg;
46  struct TradeShortMsg;
47  struct TransactionBeginMsg;
48  struct TransactionEndMsg;
49  struct TradeBreakMsg;
50  struct SettlementMsg;
51  struct OpenInterestMsg;
52  struct EndOfDaySummaryMsg;
53  struct TradingStatusMsg;
54  struct EndOfSessionMsg;
55 
56  /// Pitch message listener
58  {
59  public:
60  /// Is invoked when Gap happens
61  virtual void onGap(UInt32 /*expectedSeqNum*/, UInt32 /*receivedSeqNum*/) {};
62 
63  /// Fires when Time is received.
64  virtual void onTime(const TimeMsg&, const DataSource&) {}
65 
66  /// Fires when UnitClear is received.
67  virtual void onUnitClear(const UnitClearMsg&, const DataSource&) {}
68 
69  /// Fires when TimeReference is received.
70  virtual void onTimeReference(const TimeReferenceMsg&, const DataSource&) {}
71 
72  /// Fires when FuturesInstrumentDefinition is received.
74 
75  /// Fires when PriceLimits is received.
76  virtual void onPriceLimits(const PriceLimitsMsg&, const DataSource&) {}
77 
78  /// Fires when AddOrderLong is received.
79  virtual void onAddOrderLong(const AddOrderLongMsg&, const DataSource&) {}
80 
81  /// Fires when AddOrderShort is received.
82  virtual void onAddOrderShort(const AddOrderShortMsg&, const DataSource&) {}
83 
84  /// Fires when OrderExecuted is received.
85  virtual void onOrderExecuted(const OrderExecutedMsg&, const DataSource&) {}
86 
87  /// Fires when ReduceSizeLong is received.
88  virtual void onReduceSizeLong(const ReduceSizeLongMsg&, const DataSource&) {}
89 
90  /// Fires when ReduceSizeShort is received.
91  virtual void onReduceSizeShort(const ReduceSizeShortMsg&, const DataSource&) {}
92 
93  /// Fires when ModifyOrderLong is received.
94  virtual void onModifyOrderLong(const ModifyOrderLongMsg&, const DataSource&) {}
95 
96  /// Fires when ModifyOrderShort is received.
97  virtual void onModifyOrderShort(const ModifyOrderShortMsg&, const DataSource&) {}
98 
99  /// Fires when DeleteOrder is received.
100  virtual void onDeleteOrder(const DeleteOrderMsg&, const DataSource&) {}
101 
102  /// Fires when TradeLong is received.
103  virtual void onTradeLong(const TradeLongMsg&, const DataSource&) {}
104 
105  /// Fires when TradeShort is received.
106  virtual void onTradeShort(const TradeShortMsg&, const DataSource&) {}
107 
108  /// Fires when TransactionBegin is received.
109  virtual void onTransactionBegin(const TransactionBeginMsg&, const DataSource&) {}
110 
111  /// Fires when TransactionEnd is received.
112  virtual void onTransactionEnd(const TransactionEndMsg&, const DataSource&) {}
113 
114  /// Fires when TradeBreak is received.
115  virtual void onTradeBreak(const TradeBreakMsg&, const DataSource&) {}
116 
117  /// Fires when Settlement is received.
118  virtual void onSettlement(const SettlementMsg&, const DataSource&) {}
119 
120  /// Fires when OpenInterest is received.
121  virtual void onOpenInterest(const OpenInterestMsg&, const DataSource&) {}
122 
123  /// Fires when EndOfDaySummary is received.
124  virtual void onEndOfDaySummary(const EndOfDaySummaryMsg&, const DataSource&) {}
125 
126  /// Fires when TradingStatus is received.
127  virtual void onTradingStatus(const TradingStatusMsg&, const DataSource&) {}
128 
129  /// Fires when EndOfSession is received.
130  virtual void onEndOfSession(const EndOfSessionMsg&, const DataSource&) {}
131 
132  protected:
133  virtual ~MessageListener() {};
134  };
135 }
136 }
137 }
138 }
virtual void onTimeReference(const TimeReferenceMsg &, const DataSource &)
Fires when TimeReference is received.
Reduce Size messages are sent when a visible order on the CFE book is partially reduced.
virtual void onTradeShort(const TradeShortMsg &, const DataSource &)
Fires when TradeShort is received.
virtual void onDeleteOrder(const DeleteOrderMsg &, const DataSource &)
Fires when DeleteOrder is received.
virtual void onAddOrderShort(const AddOrderShortMsg &, const DataSource &)
Fires when AddOrderShort is received.
virtual void onOpenInterest(const OpenInterestMsg &, const DataSource &)
Fires when OpenInterest is received.
Add Order message represents a newly accepted visible order on the CFE book.
Definition: AddOrderLong.h:36
virtual void onFuturesInstrumentDefinition(const FuturesInstrumentDefinitionMsg &, const DataSource &)
Fires when FuturesInstrumentDefinition is received.
virtual void onAddOrderLong(const AddOrderLongMsg &, const DataSource &)
Fires when AddOrderLong is received.
virtual void onTradingStatus(const TradingStatusMsg &, const DataSource &)
Fires when TradingStatus is received.
The Trade message provides information about executions that occur off of the CFE book (such as ECRP ...
Definition: TradeLong.h:36
virtual void onTransactionBegin(const TransactionBeginMsg &, const DataSource &)
Fires when TransactionBegin is received.
The Unit Clear message instructs feed recipients to clear all orders for the CFE book in the unit spe...
Definition: UnitClear.h:36
The Price Limits message is sent out at the start of the session for products subject to Price Limits...
Definition: PriceLimits.h:36
virtual void onTradeLong(const TradeLongMsg &, const DataSource &)
Fires when TradeLong is received.
virtual void onUnitClear(const UnitClearMsg &, const DataSource &)
Fires when UnitClear is received.
virtual void onSettlement(const SettlementMsg &, const DataSource &)
Fires when Settlement is received.
The Transaction Begin message indicates any subsequent messages, up to the accompanying Transaction E...
virtual void onTradeBreak(const TradeBreakMsg &, const DataSource &)
Fires when TradeBreak is received.
Settlement messages are normally sent once per day per instrument after settlement prices have been c...
Definition: Settlement.h:36
virtual void onTransactionEnd(const TransactionEndMsg &, const DataSource &)
Fires when TransactionEnd is received.
virtual void onModifyOrderLong(const ModifyOrderLongMsg &, const DataSource &)
Fires when ModifyOrderLong is received.
virtual void onEndOfSession(const EndOfSessionMsg &, const DataSource &)
Fires when EndOfSession is received.
Add Order message represents a newly accepted visible order on the CFE book.
Definition: AddOrderShort.h:36
virtual void onReduceSizeShort(const ReduceSizeShortMsg &, const DataSource &)
Fires when ReduceSizeShort is received.
virtual void onReduceSizeLong(const ReduceSizeLongMsg &, const DataSource &)
Fires when ReduceSizeLong is received.
The Open Interest message is sent to communicate a symbol's open interest, usually for the prior trad...
Definition: OpenInterest.h:36
The Time Reference message is used to provide a midnight reference point for recipients of the feed...
Definition: TimeReference.h:36
The Trading Status message is used to indicate the current trading status of a Futures contract...
Definition: TradingStatus.h:36
The Trade message provides information about executions that occur off of the CFE book (such as ECRP ...
Definition: TradeShort.h:36
Order Executed messages are sent when an order on the CFE book is executed in whole or in part...
Definition: OrderExecuted.h:36
The Modify Order message is sent whenever an open order is visibly modified.
The End of Session message is sent for each unit when the unit shuts down.
Definition: EndOfSession.h:36
The Transaction End message indicates that a transaction indicated by a previous Transaction Begin me...
virtual void onOrderExecuted(const OrderExecutedMsg &, const DataSource &)
Fires when OrderExecuted is received.
virtual void onPriceLimits(const PriceLimitsMsg &, const DataSource &)
Fires when PriceLimits is received.
virtual void onEndOfDaySummary(const EndOfDaySummaryMsg &, const DataSource &)
Fires when EndOfDaySummary is received.
virtual void onModifyOrderShort(const ModifyOrderShortMsg &, const DataSource &)
Fires when ModifyOrderShort is received.
The Delete Order message is sent whenever an open order is completely canceled.
Definition: DeleteOrder.h:36
Time message is sent whenever the source time for a unit passes over a second boundary.
Definition: Time.h:36
virtual void onGap(UInt32, UInt32)
Is invoked when Gap happens.
The End of Day Summary is sent out right before the close of a symbol.
The Modify Order message is sent whenever an open order is visibly modified.
virtual void onTime(const TimeMsg &, const DataSource &)
Fires when Time is received.
Reduce Size messages are sent when a visible order on the CFE book is partially reduced.
The Trade Break message is sent whenever an execution on CFE is broken.
Definition: TradeBreak.h:36