OnixS EBS BrokerTec Market Data and Trading Handler for C++  2.14.1.0
Public Types | Public Member Functions | List of all members
Handler Class Reference

High-level handler abstraction. More...

Public Types

typedef std::vector< OrderRecordOrderArray
 Array of orders.
 

Public Member Functions

 Handler (const HandlerSettings &settings)
 Make an instance of handler using given settings. More...
 
virtual ~Handler ()
 Finalize instance.
 
void subscribe (const char *symbol)
 Subscribe to receive data for specified series identity. More...
 
void unsubscribe (const char *symbol)
 Unsubscribe from receiving data for specified symbol. More...
 
void login (const UserAccounts &accounts, const char *programId, bool force=false)
 Establish a connection to the BrokerTec gateway. More...
 
void login (const char *userId, const char *password, const char *gateway, uint32 port, const char *programId, bool force=false)
 Establishes the connection to the BrokerTec gateway. More...
 
bool isLoggedIn ()
 Returns true if Handler is connected. More...
 
void logout ()
 Disconnects from the BrokerTec gateway.
 
void logoutAsync ()
 Request for logout from the BrokerTec gateway. More...
 
void restart ()
 Restart all sessions.
 
void restartAsync ()
 Request for restart sessions. More...
 
void changePassword (const char *loginId, const char *oldPassword, const char *newPassword)
 Changes the current password.
 
HandlerState::Enum getState () const
 Get handler state. More...
 
void log (LogLevel::Enum logLevel, const char *logMessage, size_t length)
 Logs the given user-level message to the handler log. More...
 
void log (LogLevel::Enum logLevel, const char *logMessage)
 Logs the given user-level message to the handler log. More...
 
void log (LogLevel::Enum logLevel, const std::string &logMessage)
 Logs the given user-level message to the handler log. More...
 
void registerErrorListener (ErrorListener *listener)
 Register an error listener. More...
 
void registerHandlerStateListener (HandlerStateListener *listener)
 Register a Handler state listener. More...
 
void registerInstrumentDefinitionListener (InstrumentDefinitionListener *listener)
 Register the Instrument Definitions listener. More...
 
void registerPriceDepthListener (MarketListener *listener)
 Register the price depth listener. More...
 
void registerFullOrderDepthUpdateListener (FullOrderDepthUpdateListener *listener)
 Register the full order depth update listener. More...
 
void registerFullOrderDepthChangeListener (FullOrderDepthChangeListener *listener)
 Register the full order depth change listener. More...
 
void registerPriceLevelChangeListener (PriceLevelChangeListener *listener)
 Register the price level change listener. More...
 
void registerTradeListener (TradeListener *listener)
 Register the trade listener. More...
 
void registerTradeInfoListener (TradeInfoListener *listener)
 Register the trade information listener. More...
 
void registerExchangeListener (ExchangeListener *listener)
 Register the exchange listener. More...
 
void registerEditedPriceInformationListener (EditedPriceInformationListener *listener)
 Register the edited price information listener. More...
 
void registerOrderDbListener (OrderDbListener *listener)
 Register Order DB listener. More...
 
void registerOrderBookDepthListener (OrderBookDepthListener *listener)
 Register Order Book Depth (BO23) listener. More...
 
void registerOrderBookLevelsListener (OrderBookLevelsListener *listener)
 Register Order Book Levels (BO14) listener. More...
 
void registerTotalOrderBookListener (TotalOrderBookListener *listener)
 Register Total Order Book (MQ7) listener. More...
 
void registerFirmOrderBookListener (FirmOrderBookListener *listener)
 Register Firm Order Book listener for particular session. More...
 
void enterOrder (OrderRecord &order)
 Enters a new order. More...
 
void alterOrder (const OrderRecord &order)
 Alter existing order by the given order information.
 
void alterOrders (const OrderArray &orders)
 Alter existing orders.
 
void cancelOrder (const OrderId &orderId)
 Cancel the existing order by the given exchange order Id.
 
void cancelOrder (const std::string &clientOrderId)
 Cancel the existing order by the given client Id.
 
void cancelAllYourOwnOrders (const std::string &symbol)
 Cancel all your own orders for series.
 
void cancelAllCompanyOrders (const std::string &symbol)
 Cancel all company orders for series.
 
void cancelInactiveOrders (const std::string &symbol)
 Cancel inactive orders for series.
 
void restoreOwnDeals (const OMexDate &date, const InstrumentTypeId &instrument, int32 startSequenceNumber=0)
 Restore own deals history.
 

Log recording / replay

void startRecordLog (const char *fileName)
 Start record log.
 
void stopRecordLog ()
 Stop record log.
 
static void replayLog (const char *fileName, const Listeners &listeners)
 Replay log.
 

Information requests

const BusinessDatebusinessDate () const
 Returns current business date.
 
const char * licenseExpirationDate () const
 Returns license expiration date.
 
static const char * version ()
 Version of handler.
 

Detailed Description

High-level handler abstraction.

Each method can throw:

Exceptions
ArgumentExceptionInvalid parameters in Handler class methods call.
InvalidOperationExceptionMethod call is invalid for object's current state.
OmnApiExceptionError during OMN API operation.
SystemExceptionSystem-level errors on local side.

Constructor & Destructor Documentation

Handler ( const HandlerSettings settings)

Make an instance of handler using given settings.

Parameters
settingsHandler's settings.

Member Function Documentation

void enterOrder ( OrderRecord order)

Enters a new order.

Note
Order record will be completed with exchange order Id and series.
HandlerState::Enum getState ( ) const

Get handler state.

Returns
Handler's state.
bool isLoggedIn ( )

Returns true if Handler is connected.

Returns
True, if Handler is logged in, otherwise false.
void log ( LogLevel::Enum  logLevel,
const char *  logMessage,
size_t  length 
)

Logs the given user-level message to the handler log.

Parameters
logLevelLog level.
logMessageLog message.
lengthLog message length.
void log ( LogLevel::Enum  logLevel,
const char *  logMessage 
)

Logs the given user-level message to the handler log.

Parameters
logLevelLog level.
logMessageLog message.
void log ( LogLevel::Enum  logLevel,
const std::string &  logMessage 
)

Logs the given user-level message to the handler log.

Parameters
logLevelLog level.
logMessageLog message.
void login ( const UserAccounts &  accounts,
const char *  programId,
bool  force = false 
)

Establish a connection to the BrokerTec gateway.

Parameters
accountsThe exchange account. In multisession mode first account should be "market data" account and other accounts should be "trading" accounts.
programIdProgram id of the application. Example: "QUICKTRADE V24-3".
forceFlag for normal/forced login.
Note
Fail if same user id has been login in another session.
Will terminate the existing session with same user id, and login as new session.
void login ( const char *  userId,
const char *  password,
const char *  gateway,
uint32  port,
const char *  programId,
bool  force = false 
)

Establishes the connection to the BrokerTec gateway.

Parameters
userIdUser ID for login
passwordUser password for login
gatewayGateway host/node name or TCPIP address of the OMnet Gateway executor node.
portPort number of the OMnet Gateway process.
programIdProgram id of the application. String(32). The standard requirement is FIRM|S/W Build_Version|Contact phone number.
forceFlag for normal/forced login.
void logoutAsync ( )

Request for logout from the BrokerTec gateway.

Warning
Do not delete Handler until logout is done.
void registerEditedPriceInformationListener ( EditedPriceInformationListener listener)

Register the edited price information listener.

Parameters
listenerInstance of OnixS::BrokerTec::EditedPriceInformationListener.
void registerErrorListener ( ErrorListener listener)

Register an error listener.

Parameters
listenerInstance of OnixS::BrokerTec::ErrorListener.
void registerExchangeListener ( ExchangeListener listener)

Register the exchange listener.

Parameters
listenerInstance of OnixS::BrokerTec::ExchangeListener.
void registerFirmOrderBookListener ( FirmOrderBookListener listener)

Register Firm Order Book listener for particular session.

Parameters
listenerInstance of OnixS::BrokerTec::FirmOrderBookListener.
void registerFullOrderDepthChangeListener ( FullOrderDepthChangeListener listener)

Register the full order depth change listener.

Parameters
listenerInstance of OnixS::BrokerTec::FullOrderDepthChangeListener.
void registerFullOrderDepthUpdateListener ( FullOrderDepthUpdateListener listener)

Register the full order depth update listener.

Parameters
listenerInstance of OnixS::BrokerTec::FullOrderDepthUpdateListener.
void registerHandlerStateListener ( HandlerStateListener listener)

Register a Handler state listener.

Parameters
listenerInstance of OnixS::BrokerTec::HandlerStateListener.
void registerInstrumentDefinitionListener ( InstrumentDefinitionListener listener)

Register the Instrument Definitions listener.

Parameters
listenerInstance of OnixS::BrokerTec::InstrumentDefinitionListener.
void registerOrderBookDepthListener ( OrderBookDepthListener listener)

Register Order Book Depth (BO23) listener.

Parameters
listenerInstance of OnixS::BrokerTec::OrderBookDepthListener.
void registerOrderBookLevelsListener ( OrderBookLevelsListener listener)

Register Order Book Levels (BO14) listener.

Parameters
listenerInstance of OnixS::BrokerTec::OrderBookLevelsListener.
void registerOrderDbListener ( OrderDbListener listener)

Register Order DB listener.

Parameters
listenerInstance of OnixS::BrokerTec::OrderDbListener.
void registerPriceDepthListener ( MarketListener listener)

Register the price depth listener.

Parameters
listenerInstance of OnixS::BrokerTec::MarketListener.
void registerPriceLevelChangeListener ( PriceLevelChangeListener listener)

Register the price level change listener.

Parameters
listenerInstance of OnixS::BrokerTec::PriceLevelChangeListener.
void registerTotalOrderBookListener ( TotalOrderBookListener listener)

Register Total Order Book (MQ7) listener.

Parameters
listenerInstance of OnixS::BrokerTec::TotalOrderBookListener.
void registerTradeInfoListener ( TradeInfoListener listener)

Register the trade information listener.

Parameters
listenerInstance of OnixS::BrokerTec::TradeInfoListener.
void registerTradeListener ( TradeListener listener)

Register the trade listener.

Parameters
listenerInstance of OnixS::BrokerTec::TradeListener.
void restartAsync ( )

Request for restart sessions.

Warning
Do not delete Handler until logout is done.
void subscribe ( const char *  symbol)

Subscribe to receive data for specified series identity.

Parameters
symbolSeries, Identity. See OnixS::Series::symbol for more details.
void unsubscribe ( const char *  symbol)

Unsubscribe from receiving data for specified symbol.

Parameters
symbolSeries, Identity. See OnixS::Series::symbol for more details.