11#ifndef _AP_MDM_ADAPTERINTERFACE_H_
12#define _AP_MDM_ADAPTERINTERFACE_H_
26#include <EventCodec.h>
34#if defined(_APBUILD_WIN32_ALL__) || defined(__WIN32__) || defined(WIN32)
42#ifndef _APBUILD_WIN32_ALL__
43#define _APBUILD_WIN32_ALL__
47#define AP_MDM_API __declspec(dllexport)
48#define AP_MDM_CALL __stdcall
50#define AP_MDM_API __declspec(dllimport)
51#define AP_MDM_CALL __stdcall
54#elif defined(_APBUILD_UNIX_ALL__) || defined(__unix__)
58#error "Can't determine platform: try #define _APBUILD_WIN32_ALL__ or _APBUILD_UNIX_ALL__"
74#define MDM_DEFAULT_STRING "~#"
75#define MDM_DEFAULT_FLOAT 0.000001
76#define MDM_DEFAULT_INT -999999
122 void(*connect)(
void* transportInternals,
const char* subKey,
AP_MDM_StreamType streamType, HashMap* ctrlParams, AP_TimestampSet *tss);
141 void(*disconnect)(
void* transportInternals,
const char* subKey,
AP_MDM_StreamType streamType, HashMap* ctrlParams, AP_TimestampSet *tss);
160 const char* (*getKey)(
void* transportInternals,
const char* symbol, AP_int64 sourceId,
AP_MDM_StreamType streamType, HashMap* ctrlParams);
212 SchemaItem(
const std::string ¶mName,
const std::string &type,
const std::string &value,
const std::string &description)
236#if defined( __cplusplus )
662 const char* requestId,
const bool tradable,
const StringDictionary &epValues);
684 const char* requestId,
const bool tradable,
const StringDictionary &epValues);
705 const char* requestId,
const bool tradable,
const StringDictionary &epValues);
726 const char* requestId,
const bool tradable,
const StringDictionary &epValues);
832 AP_int64 updateType,
const char* headline,
const char* story,
const AP_float64 sourceTimestamp,
const NewsDataList &newsDataList,
const AP_float64 value =
MDM_DEFAULT_FLOAT);
851 const AP_float64 sourceTimestamp,
const NewsDataList &newsDataList);
1180#if defined( __cplusplus )
AP_MDM_API void AP_MDM_CreateDBEntry(AP_MDM_Interface *md, const char *subKey, AP_MDM_StreamType type)
AP_MDM_API int AP_MDM_ProcessEvent(AP_MDM_Interface *md, AP_TransportEvent event, AP_TimestampSet *tss)
SchemaItem NewsData
Definition: MDM_MarketDataInterface.h:227
std::list< NewsData > NewsDataList
Definition: MDM_MarketDataInterface.h:228
AP_MDM_API void AP_MDM_SetDecoder(AP_MDM_Interface *md, AP_EventDecoder *decoder)
AP_MDM_API void AP_MDM_ReportSourceError(AP_MDM_Interface *md, AP_int64 sourceId, const char *errMsg, AP_MDM_ErrorLevel severity, AP_TimestampSet *tss)
std::vector< StringPair > StringDictionary
Definition: MDM_MarketDataInterface.h:231
std::list< ExtraParam > ExtraParamList
Definition: MDM_MarketDataInterface.h:224
AP_MDM_API void AP_MDM_Stop(AP_MDM_Interface *md)
AP_MDM_API void AP_MDM_LogLatency(AP_MDM_Interface *md, IAF_TimestampConfig *config)
#define MDM_DEFAULT_FLOAT
Definition: MDM_MarketDataInterface.h:75
SchemaItemValue ExtraParamValue
Definition: MDM_MarketDataInterface.h:223
std::set< std::string > StringSet
Definition: MDM_MarketDataInterface.h:181
AP_MDM_StreamType
Definition: MDM_MarketDataInterface.h:62
@ MDM_EP_STREAM
Definition: MDM_MarketDataInterface.h:68
@ MDM_NEWS_STREAM
Definition: MDM_MarketDataInterface.h:70
@ MDM_BBA_STREAM
Definition: MDM_MarketDataInterface.h:64
@ MDM_UNKNOWN_STREAM
Definition: MDM_MarketDataInterface.h:63
@ MDM_MBP_STREAM
Definition: MDM_MarketDataInterface.h:66
@ MDM_QUOTEBOOK_STREAM
Definition: MDM_MarketDataInterface.h:69
@ MDM_TRADE_STREAM
Definition: MDM_MarketDataInterface.h:65
@ MDM_MBO_STREAM
Definition: MDM_MarketDataInterface.h:67
AP_MDM_TransferMode
Definition: MDM_MarketDataInterface.h:79
@ MDM_COMPOUND_DELTA
Definition: MDM_MarketDataInterface.h:80
@ MDM_SNAPSHOT_ONLY
Definition: MDM_MarketDataInterface.h:81
AP_MDM_API void AP_MDM_ReportError(AP_MDM_Interface *md, const char *subKey, const char *errMsg, AP_MDM_ErrorLevel severity, AP_TimestampSet *tss)
AP_MDM_API void AP_MDM_DeleteDBEntry(AP_MDM_Interface *md, const char *subKey)
SchemaItemValue StringPair
Definition: MDM_MarketDataInterface.h:230
SchemaItem ExtraParam
Definition: MDM_MarketDataInterface.h:222
AP_MDM_API void AP_MDM_Start(AP_MDM_Interface *md)
std::vector< std::string > StringList
Definition: MDM_MarketDataInterface.h:180
AP_MDM_ErrorLevel
Definition: MDM_MarketDataInterface.h:86
@ MDM_INFO
Definition: MDM_MarketDataInterface.h:90
@ MDM_WARNING
Definition: MDM_MarketDataInterface.h:89
@ MDM_FATAL
Definition: MDM_MarketDataInterface.h:87
@ MDM_ERROR
Definition: MDM_MarketDataInterface.h:88
std::list< ExtraParamValue > ExtraParamValueList
Definition: MDM_MarketDataInterface.h:225
Interface functions for the Session Manager.
Definition: MDM_MarketDataInterface.h:204
std::string type_
Definition: MDM_MarketDataInterface.h:218
std::string description_
Definition: MDM_MarketDataInterface.h:219
SchemaItem(const std::string ¶mName, const std::string &type, const std::string &value, const std::string &description)
Definition: MDM_MarketDataInterface.h:212
Definition: MDM_MarketDataInterface.h:185
std::string value_
Definition: MDM_MarketDataInterface.h:199
SchemaItemValue(const std::string ¶mName, const std::string &value)
Definition: MDM_MarketDataInterface.h:191
std::string paramName_
Definition: MDM_MarketDataInterface.h:198
bool operator==(const SchemaItemValue &rhs) const
Definition: MDM_MarketDataInterface.h:196
AP_MDM_API void AP_MDM_SetBBAData(AP_MDM_Interface *md, const char *subKey, AP_float64 bidPrice, AP_int64 bidQty, AP_float64 askPrice, AP_int64 askQty)
AP_MDM_API void AP_MDM_DeleteBidDepthData(AP_MDM_Interface *md, const char *subKey, const char *depthId)
AP_MDM_API void AP_MDM_InsertBidDepthData(AP_MDM_Interface *md, const char *subKey, const char *depthId, AP_float64 price, AP_int64 quantity, const StringDictionary &epValues)
AP_MDM_API void AP_MDM_SetAskDepthData(AP_MDM_Interface *md, const char *subKey, const char *depthId, AP_float64 price, AP_int64 quantity, const StringDictionary &epValues)
AP_MDM_API void AP_MDM_DeleteAskDepthData(AP_MDM_Interface *md, const char *subKey, const char *depthId)
AP_MDM_API void AP_MDM_InsertAskDepthData(AP_MDM_Interface *md, const char *subKey, const char *depthId, AP_float64 price, AP_int64 quantity, const StringDictionary &epValues)
AP_MDM_API const char * AP_MDM_GetAskDepthIdAtLevel(AP_MDM_Interface *md, const char *subKey, AP_int64 level)
AP_MDM_API void AP_MDM_SetBidDepthData(AP_MDM_Interface *md, const char *subKey, const char *depthId, AP_float64 price, AP_int64 quantity, const StringDictionary &epValues)
AP_MDM_API const char * AP_MDM_GetBidDepthIdAtLevel(AP_MDM_Interface *md, const char *subKey, AP_int64 level)
AP_MDM_API void AP_MDM_ConnectSuccess(AP_MDM_Interface *md, const char *subKey, AP_TimestampSet *tss)
AP_MDM_API void AP_MDM_ConnectFailed(AP_MDM_Interface *md, const char *subKey, const char *description, AP_TimestampSet *tss)
AP_MDM_API void AP_MDM_DisconnectSuccess(AP_MDM_Interface *md, const char *subKey, AP_TimestampSet *tss)
AP_MDM_API void AP_MDM_DisconnectFailed(AP_MDM_Interface *md, const char *subKey, const char *description, AP_TimestampSet *tss)
AP_MDM_API void AP_MDM_ClearSourceData(AP_MDM_Interface *md, AP_int64 sourceId)
AP_MDM_API void AP_MDM_ClearSubscriptionData(AP_MDM_Interface *md, const char *subKey)
AP_MDM_API void AP_MDM_ClearData(AP_MDM_Interface *md)
AP_MDM_API void AP_MDM_SourceCommit(AP_MDM_Interface *md, AP_int64 sourceId, AP_TimestampSet *tss)
AP_MDM_API void AP_MDM_Commit(AP_MDM_Interface *md, AP_TimestampSet *tss)
AP_MDM_API void AP_MDM_SubscriptionCommit(AP_MDM_Interface *md, const char *subKey, AP_TimestampSet *tss)
AP_MDM_API void AP_MDM_Init(AP_MDM_AdapterInterface *adapterInterface, void *transportInternals, AP_SESSION_Interface *sessionManagerInterface, AP_MDM_Interface **md)
AP_MDM_API void AP_MDM_DeInit(AP_MDM_Interface *md)
AP_MDM_API void AP_MDM_RemoveSourceSubscriptions(AP_MDM_Interface *md, AP_int64 sourceId)
AP_MDM_API void AP_MDM_RemoveSubscription(AP_MDM_Interface *md, const char *subKey)
AP_MDM_API void AP_MDM_RemoveSubscriptions(AP_MDM_Interface *md)
AP_MDM_API void AP_MDM_DictionaryToString(const StringDictionary &stringDictionary, std::string &result)
AP_MDM_API void AP_MDM_SequenceToString(const StringSet &stringSet, std::string &result)
AP_MDM_API void AP_MDM_EscapeString(const std::string &input, std::string &result)
AP_MDM_API void AP_MDM_SetNewsData(AP_MDM_Interface *md, const char *subKey, const char *newsId, const StringSet &symbolSet, AP_int64 updateType, const char *headline, const char *story, const AP_float64 sourceTimestamp, const NewsDataList &newsDataList, const AP_float64 value=MDM_DEFAULT_FLOAT)
AP_MDM_API void AP_MDM_DeleteNewsData(AP_MDM_Interface *md, const char *subKey, const char *newsId, const StringSet &symbolSet, const AP_float64 sourceTimestamp, const NewsDataList &newsDataList)
AP_MDM_API void AP_MDM_DefineNewsSchema(AP_MDM_Interface *md, const char *subKey, const NewsDataList &newsDataList)
AP_MDM_API void AP_MDM_SetBidOrderBookData(AP_MDM_Interface *md, const char *subKey, const char *orderId, AP_float64 price, AP_int64 quantity, const char *party, const StringDictionary &epValues)
AP_MDM_API void AP_MDM_InsertAskOrderBookData(AP_MDM_Interface *md, const char *subKey, const char *orderId, AP_float64 price, AP_int64 quantity, const char *party, const StringDictionary &epValues)
AP_MDM_API const char * AP_MDM_GetAskOrderIdAtLevel(AP_MDM_Interface *md, const char *subKey, AP_int64 level)
AP_MDM_API void AP_MDM_DeleteBidOrderBookData(AP_MDM_Interface *md, const char *subKey, const char *orderId)
AP_MDM_API const char * AP_MDM_GetBidOrderIdAtLevel(AP_MDM_Interface *md, const char *subKey, AP_int64 level)
AP_MDM_API void AP_MDM_InsertBidOrderBookData(AP_MDM_Interface *md, const char *subKey, const char *orderId, AP_float64 price, AP_int64 quantity, const char *party, const StringDictionary &epValues)
AP_MDM_API void AP_MDM_DeleteAskOrderBookData(AP_MDM_Interface *md, const char *subKey, const char *orderId)
AP_MDM_API void AP_MDM_SetAskOrderBookData(AP_MDM_Interface *md, const char *subKey, const char *orderId, AP_float64 price, AP_int64 quantity, const char *party, const StringDictionary &epValues)
AP_MDM_API void AP_MDM_DeleteMultipleBidQuotebookData(AP_MDM_Interface *md, const char *subKey, const char *quoteId)
AP_MDM_API const char * AP_MDM_GetBidQuotebookIdAtLevel(AP_MDM_Interface *md, const char *subKey, AP_int64 level)
AP_MDM_API void AP_MDM_InsertAskQuotebookData(AP_MDM_Interface *md, const char *subKey, const char *quoteId, AP_int64 quantity, AP_float64 price, const char *party, const char *requestId, const bool tradable, const StringDictionary &epValues)
AP_MDM_API void AP_MDM_SetBidQuotebookData(AP_MDM_Interface *md, const char *subKey, const char *quoteId, AP_int64 quantity, AP_float64 price, const char *party, const char *requestId, const bool tradable, const StringDictionary &epValues)
AP_MDM_API const char * AP_MDM_GetAskQuotebookIdAtLevel(AP_MDM_Interface *md, const char *subKey, AP_int64 level)
AP_MDM_API void AP_MDM_InsertBidQuotebookData(AP_MDM_Interface *md, const char *subKey, const char *quoteId, AP_int64 quantity, AP_float64 price, const char *party, const char *requestId, const bool tradable, const StringDictionary &epValues)
AP_MDM_API void AP_MDM_SetAskQuotebookData(AP_MDM_Interface *md, const char *subKey, const char *quoteId, AP_int64 quantity, AP_float64 price, const char *party, const char *requestId, const bool tradable, const StringDictionary &epValues)
AP_MDM_API void AP_MDM_DeleteAskQuotebookData(AP_MDM_Interface *md, const char *subKey, const char *quoteId, AP_int64 quantity)
AP_MDM_API void AP_MDM_DeleteBidQuotebookData(AP_MDM_Interface *md, const char *subKey, const char *quoteId, AP_int64 quantity)
AP_MDM_API void AP_MDM_DeleteMultipleAskQuotebookData(AP_MDM_Interface *md, const char *subKey, const char *quoteId)
AP_MDM_API void AP_MDM_SetTradeData(AP_MDM_Interface *md, const char *subKey, AP_float64 price, AP_int64 quantity, const char *taker, const char *receiver, const char *currency)
Definition: MDM_MarketDataInterface.h:102
Definition: MDM_MarketDataInterface.h:172
void * transportInternals
Definition: MDM_MarketDataInterface.h:175
AP_MDM_AdapterInterface * adapterInterface
Definition: MDM_MarketDataInterface.h:173
AP_SESSION_Interface * sessionManagerInterface
Definition: MDM_MarketDataInterface.h:174
Definition: SM_SessionInterface.h:219