9#ifndef _SAG_MDM_INTERFACE_H_
10#define _SAG_MDM_INTERFACE_H_
26#include "sag_connectivity_plugins.hpp"
28using namespace com::softwareag::connectivity;
32#if defined(_APBUILD_WIN32_ALL__) || defined(__WIN32__) || defined(WIN32)
40#ifndef _APBUILD_WIN32_ALL__
41#define _APBUILD_WIN32_ALL__
45#define SAG_MDM_API __declspec(dllexport)
46#define SAG_MDM_CALL __stdcall
48#define SAG_MDM_API __declspec(dllimport)
49#define SAG_MDM_CALL __stdcall
52#elif defined(_APBUILD_UNIX_ALL__) || defined(__unix__)
56#error "Can't determine platform: try #define _APBUILD_WIN32_ALL__ or _APBUILD_UNIX_ALL__"
60 namespace softwareag {
61 namespace marketdata {
63#define STREAMTYPE_BBA ("com.apama.md.BBA")
64#define STREAMTYPE_TRADE ("com.apama.md.T")
65#define STREAMTYPE_MBP ("com.apama.md.D")
66#define STREAMTYPE_MBO ("com.apama.md.O")
67#define STREAMTYPE_EP ("com.apama.md.EP")
68#define STREAMTYPE_QUOTEBOOK ("com.apama.md.QB")
69#define STREAMTYPE_NEWS ("com.apama.md.N")
86#define MDM_DEFAULT_STRING "~#"
87#define MDM_DEFAULT_FLOAT 0.000001
88#define MDM_DEFAULT_INT -999999
139 SchemaItem(
const std::string ¶mName,
const std::string &type,
const std::string &value,
const std::string &description)
181 class MarketDataSession;
std::shared_ptr< TimestampSet > TimestampSetPtr
Definition: Connectivity_MDInterfaces.h:186
int64_t TimestampSetIndex
Definition: Connectivity_MDInterfaces.h:181
AP_MDM_StreamType
Definition: Connectivity_MDInterfaces.h:72
double TimestampSetTime
Definition: Connectivity_MDInterfaces.h:183
SchemaItem NewsData
Definition: MDM_MarketDataInterface.h:227
std::list< NewsData > NewsDataList
Definition: MDM_MarketDataInterface.h:228
std::vector< StringPair > StringDictionary
Definition: MDM_MarketDataInterface.h:231
std::list< ExtraParam > ExtraParamList
Definition: MDM_MarketDataInterface.h:224
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
SchemaItemValue StringPair
Definition: MDM_MarketDataInterface.h:230
SchemaItem ExtraParam
Definition: MDM_MarketDataInterface.h:222
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
Definition: Connectivity_MDInterfaces.h:191
virtual const char * getKey(const std::string &symbol, int64_t sourceId, AP_MDM_StreamType streamType, map_t &ctrlParams)=0
virtual void connect(const std::string &subKey, AP_MDM_StreamType streamType, map_t &ctrlParams)=0
virtual void setMarketDataSession(MarketDataSession *mdSession)=0
virtual void disconnect(const std::string &subKey, AP_MDM_StreamType streamType, map_t &ctrlParams)=0
MDMInterface()
Definition: Connectivity_MDInterfaces.h:197
Definition: Connectivity_MDInterfaces.h:327
static MarketDataManager * createMarketDataManager(Logger *logger, MDMInterface *mdmConntInterface)
Definition: Connectivity_MDInterfaces.h:260
HostSide * hostSide_
Definition: Connectivity_MDInterfaces.h:316
MDMInterface * mdInterface_
Definition: Connectivity_MDInterfaces.h:320
MarketDataManager(Logger *logger, MDMInterface *mdIface)
virtual void setTimeStampConfig(map_t &timeStampConfig)=0
virtual void setHostSide(HostSide *hostSide)
virtual bool ProcessMessage(Message &msgObj)=0
Logger * logger_
Definition: Connectivity_MDInterfaces.h:318
Definition: Connectivity_MDPublisher.h:23
Definition: Connectivity_MDInterfaces.h:342
virtual void ClearData()=0
virtual void setConnectSuccess(const std::string &subKey, TimestampSetPtr tss)=0
virtual void ClearSourceData(int64_t sourceId)=0
virtual void setDisconnectSuccess(const std::string &subKey, TimestampSetPtr tss)=0
virtual void setDisconnectFailed(const std::string &subKey, const std::string &description, TimestampSetPtr tss)=0
virtual MarketDataPublisher * getPublisher(AP_MDM_StreamType stype)=0
virtual void setConnectFailed(const std::string &subKey, const std::string &description, TimestampSetPtr tss)=0
virtual void ClearSubscriptionData(const std::string &subKey)=0
virtual void SubscriptionCommit(const std::string &subKey, TimestampSetPtr tss)=0
virtual void RemoveSubscription(const std::string &subKey)=0
virtual void RemoveSourceSubscriptions(int64_t sourceId)=0
virtual void RemoveSubscriptions()=0
Definition: Connectivity_MDInterfaces.h:131
std::string type_
Definition: Connectivity_MDInterfaces.h:145
std::string description_
Definition: Connectivity_MDInterfaces.h:146
SchemaItem(const std::string ¶mName, const std::string &type, const std::string &value, const std::string &description)
Definition: Connectivity_MDInterfaces.h:139
Definition: Connectivity_MDInterfaces.h:112
std::string value_
Definition: Connectivity_MDInterfaces.h:126
SchemaItemValue(const std::string ¶mName, const std::string &value)
Definition: Connectivity_MDInterfaces.h:118
bool operator==(const SchemaItemValue &rhs) const
Definition: Connectivity_MDInterfaces.h:123
std::string paramName_
Definition: Connectivity_MDInterfaces.h:125
Definition: Connectivity_MDInterfaces.h:449
TimestampSet()
Definition: Connectivity_MDInterfaces.h:454
map_t & getTimeStamp()
Definition: Connectivity_MDInterfaces.h:484
void addTime(TimestampSetIndex index, TimestampSetTime time)
void addNow(TimestampSetIndex index)
TimestampSetTime findTime(TimestampSetIndex index)
Definition: Connectivity_MDInterfaces.h:161
bool recordUpstream
Definition: Connectivity_MDInterfaces.h:162
bool logRoundtrip
Definition: Connectivity_MDInterfaces.h:166
bool logUpstream
Definition: Connectivity_MDInterfaces.h:164
bool logDownstream
Definition: Connectivity_MDInterfaces.h:165
bool recordDownstream
Definition: Connectivity_MDInterfaces.h:163