OnixS ICE iMpact Multicast Price Feed Handler C++ library 8.18.0
API documentation
Loading...
Searching...
No Matches
Handler.h
Go to the documentation of this file.
1/*
2 * Copyright (c) Onix Solutions Limited. All rights reserved.
3 *
4 * This software owned by Onix Solutions Limited 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
22#include "ErrorListener.h"
23#include "ExchangeListener.h"
24#include "Export.h"
25#include "FeedEngine.h"
26#include "FeedListener.h"
27#include "GroupSubscription.h"
28#include "HandlerSettings.h"
30#include "LogReplayListener.h"
31#include "MarketSubscription.h"
36#include "TcpSettings.h"
37#include "WarningListener.h"
38
39#include <string>
40
41namespace OnixS { namespace ICE { namespace iMpact { namespace MarketData {
42
45class ONIXS_ICEMDH_EXPORT Handler
46{
47public:
53 Handler(const HandlerSettings& handlerSettings);
54
56 virtual ~Handler();
57
61 std::string licenseExpirationDate() const;
62
64 static const std::string& version();
65
67 void logDebug(const std::string& message);
68
70 void logError(const std::string& message);
71
73 void logMessage(const std::string& message);
74
76 void logWarning(const std::string& message);
77
88
99
110
121
132
143
154
165
176
187
193 void bindFeedEngine(FeedEngine& feedEngine);
194
203 void start(const MarketSubscription& marketSubscription);
204
214 void start(const MarketSubscriptions& marketSubscriptions);
215
224 void start(const GroupSubscription& groupSubscription);
225
235 void start(const GroupSubscriptions& groupSubscriptions);
236
238 void stop();
239
241 bool active() const;
242
245
249 void setTcpSettings(const TcpSettings& tcpSettings);
250
255
261 void setTcpServerCredentials(const std::string& name, const std::string& username, const std::string& password);
262
263private:
264 Handler(const Handler&) /*= delete */; // no implementation
265 Handler& operator=(const Handler&) /*= delete */; // no implementation
266
267private:
268 class Implementation;
269 Implementation* impl_;
270};
271
272}}}} // namespace OnixS::ICE::iMpact::MarketData
Class OnixS::ICE::iMpact::MarketData::ExchangeListener (interface)
Defines the interface through which the Handler notifies subscribers about errors occurred while proc...
Defines an interface through which the Handler notifies subscribers about all received messages.
Manages processing machinery for market data received from feeds.
Definition FeedEngine.h:33
Defines the interface through which the Handler notifies subscribers about feed events.
void registerWarningListener(WarningListener *listener)
void start(const GroupSubscription &groupSubscription)
void registerExchangeListener(ExchangeListener *listener)
static const std::string & version()
Get version of Handler.
void start(const MarketSubscriptions &marketSubscriptions)
void setTcpSettings(const TcpSettings &tcpSettings)
void logMessage(const std::string &message)
Log an information message.
void registerErrorListener(ErrorListener *listener)
void start(const GroupSubscriptions &groupSubscriptions)
void registerOrderBookUpdateListener(OrderBookUpdateListener *listener)
Handler(const HandlerSettings &handlerSettings)
HandlerStates::Enum state() const
Get handler state.
void logDebug(const std::string &message)
Log a debug message.
void registerFeedListener(FeedListener *listener)
void bindFeedEngine(FeedEngine &feedEngine)
void stop()
Interrupts all subscriptions.
void registerLogReplayListener(LogReplayListener *listener)
void registerPacketProcessingListener(PacketProcessingListener *listener)
const TcpSettings & getTcpSettings() const
void registerOrderBookChangeListener(OrderBookChangeListener *listener)
void registerOrderBookBundleUpdateListener(OrderBookBundleUpdateListener *listener)
virtual ~Handler()
Finalizes the Handler.
bool active() const
Indicates whether subscriptions are being handled.
void logWarning(const std::string &message)
Log a warning message.
void start(const MarketSubscription &marketSubscription)
void registerHandlerStateChangeListener(HandlerStateChangeListener *listener)
void setTcpServerCredentials(const std::string &name, const std::string &username, const std::string &password)
void logError(const std::string &message)
Log an error message.
Defines the interface through which the Handler notifies subscribers about log replay events.
std::set< GroupSubscription > GroupSubscriptions
Collection of group subscriptions.
std::set< MarketSubscription > MarketSubscriptions
Collection of market subscriptions.
Defines which books should be maintained for given group name.
Defines set of settings which affect behavior of the Handler.
Defines which books should be maintained for given market type id.
Defines TCP connectivity options.
Definition TcpSettings.h:89