Академический Документы
Профессиональный Документы
Культура Документы
h
第 1 ⻚,共 3 ⻚
/////////////////////////////////////////////////////////////////////////
///@system 新⼀代交易所系统
///@company 上海期货信息技术有限公司
///@file ThostFtdcMdApi.h
///@brief 定义了客⼾端接口
///@history
///20060106 赵鸿昊 创建该⽂件
/////////////////////////////////////////////////////////////////////////
#if !defined(THOST_FTDCMDAPI_H)
#define THOST_FTDCMDAPI_H
#include "ThostFtdcUserApiStruct.h"
class CThostFtdcMdSpi
{
public:
///当客⼾端与交易后台建⽴起通信连接时(还未登录前),该⽅法被调⽤。
virtual void OnFrontConnected(){};
///当客⼾端与交易后台通信连接断开时,该⽅法被调⽤。当发⽣这个情况后,API会⾃动重新连接,
客⼾端可不做处理。
///@param nReason 错误原因
/// 0x1001 ⽹络读失败
/// 0x1002 ⽹络写失败
/// 0x2001 接收⼼跳超时
/// 0x2002 发送⼼跳失败
/// 0x2003 收到错误报⽂
virtual void OnFrontDisconnected(int nReason){};
///⼼跳超时警告。当长时间未收到报⽂时,该⽅法被调⽤。
///@param nTimeLapse 距离上次接收报⽂的时间
virtual void OnHeartBeatWarning(int nTimeLapse){};
///登录请求响应
virtual void OnRspUserLogin(CThostFtdcRspUserLoginField *pRspUserLogin,
CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
///登出请求响应
virtual void OnRspUserLogout(CThostFtdcUserLogoutField *pUserLogout,
CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
///错误应答
virtual void OnRspError(CThostFtdcRspInfoField *pRspInfo, int nRequestID,
bool bIsLast) {};
⽂件:/home/jame/桌⾯/v6.3.5_20150803…deapi_linux64/ThostFtdcMdApi.h
第 2 ⻚,共 3 ⻚
///订阅⾏情应答
virtual void OnRspSubMarketData(CThostFtdcSpecificInstrumentField
*pSpecificInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool
bIsLast) {};
///取消订阅⾏情应答
virtual void OnRspUnSubMarketData(CThostFtdcSpecificInstrumentField
*pSpecificInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool
bIsLast) {};
///订阅询价应答
virtual void OnRspSubForQuoteRsp(CThostFtdcSpecificInstrumentField
*pSpecificInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool
bIsLast) {};
///取消订阅询价应答
virtual void OnRspUnSubForQuoteRsp(CThostFtdcSpecificInstrumentField
*pSpecificInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool
bIsLast) {};
///深度⾏情通知
virtual void OnRtnDepthMarketData(CThostFtdcDepthMarketDataField
*pDepthMarketData) {};
///询价通知
virtual void OnRtnForQuoteRsp(CThostFtdcForQuoteRspField *pForQuoteRsp) {};
};
///删除接口对象本⾝
///@remark 不再使⽤本接口对象时,调⽤该函数删除接口对象
virtual void Release() = 0;
///初始化
///@remark 初始化运⾏环境,只有调⽤后,接口才开始⼯作
virtual void Init() = 0;
///等待接口线程结束运⾏
///@return 线程退出代码
virtual int Join() = 0;
///获取当前交易日
///@retrun 获取到的交易日
///@remark 只有登录成功后,才能得到正确的交易日
virtual const char *GetTradingDay() = 0;
///注册前置机⽹络地址
///@param pszFrontAddress:前置机⽹络地址。
///@remark ⽹络地址的格式为:“protocol://ipaddress:port”,
如:”tcp://127.0.0.1:17001”。
⽂件:/home/jame/桌⾯/v6.3.5_20150803…deapi_linux64/ThostFtdcMdApi.h
第 3 ⻚,共 3 ⻚
///@remark “tcp”代表传输协议,“127.0.0.1”代表服务器地址。”17001”代表服务器端口号。
virtual void RegisterFront(char *pszFrontAddress) = 0;
///注册名字服务器⽹络地址
///@param pszNsAddress:名字服务器⽹络地址。
///@remark ⽹络地址的格式为:“protocol://ipaddress:port”,
如:”tcp://127.0.0.1:12001”。
///@remark “tcp”代表传输协议,“127.0.0.1”代表服务器地址。”12001”代表服务器端口号。
///@remark RegisterNameServer优先于RegisterFront
virtual void RegisterNameServer(char *pszNsAddress) = 0;
///注册名字服务器⽤⼾信息
///@param pFensUserInfo:⽤⼾信息。
virtual void RegisterFensUserInfo(CThostFtdcFensUserInfoField *
pFensUserInfo) = 0;
///注册回调接口
///@param pSpi 派⽣⾃回调接口类的实例
virtual void RegisterSpi(CThostFtdcMdSpi *pSpi) = 0;
///订阅⾏情。
///@param ppInstrumentID 合约ID
///@param nCount 要订阅/退订⾏情的合约个数
///@remark
virtual int SubscribeMarketData(char *ppInstrumentID[], int nCount) = 0;
///退订⾏情。
///@param ppInstrumentID 合约ID
///@param nCount 要订阅/退订⾏情的合约个数
///@remark
virtual int UnSubscribeMarketData(char *ppInstrumentID[], int nCount) = 0;
///订阅询价。
///@param ppInstrumentID 合约ID
///@param nCount 要订阅/退订⾏情的合约个数
///@remark
virtual int SubscribeForQuoteRsp(char *ppInstrumentID[], int nCount) = 0;
///退订询价。
///@param ppInstrumentID 合约ID
///@param nCount 要订阅/退订⾏情的合约个数
///@remark
virtual int UnSubscribeForQuoteRsp(char *ppInstrumentID[], int nCount) = 0;
///⽤⼾登录请求
virtual int ReqUserLogin(CThostFtdcReqUserLoginField *pReqUserLoginField,
int nRequestID) = 0;
///登出请求
virtual int ReqUserLogout(CThostFtdcUserLogoutField *pUserLogout, int
nRequestID) = 0;
protected:
~CThostFtdcMdApi(){};
};
#endif