vnpy/vn.shzd/shzdapi/ShZdTradeLib.h
2016-08-10 23:09:51 +08:00

61 lines
2.1 KiB
C++

//==================================================================================
//下列 ifdef 块是创建使从 DLL 导出更简单的
// 宏的标准方法。此 DLL 中的所有文件都是用命令行上定义的 SHZDTRADELIB_EXPORTS
// 符号编译的。在使用此 DLL 的
// 任何其他项目上不应定义此符号。这样,源文件中包含此文件的任何其他项目都会将
// SHZDTRADELIB_API 函数视为是从 DLL 导入的,而此 DLL 则将用此宏定义的
// 符号视为是被导出的。
// 向少中 2013-03-22
//===================================================================================
#pragma once
#include "ShZdMessage.h"
#ifdef SHZDTRADELIB_EXPORTS
#define SHZDTRADELIB_API __declspec(dllexport)
#else
#define SHZDTRADELIB_API __declspec(dllimport)
#endif
#ifdef __cplusplus
//===================================================================================
// 对外导出的接口
//===================================================================================
//接收信息的虚类
class SHZDTRADELIB_API IShZdTradeOutLib
{
public:
virtual int OnReceiveTradeInfo(const CShZdMessage * re)=0;
virtual int OnReceiveMarketInfo(const CShZdMessage * re)=0;
virtual int OnReceiveErrorInfo(int errorCode,const char* re)=0;
};
typedef IShZdTradeOutLib* IShZdTradeOutLibHandler;
//发送信息的虚类
class SHZDTRADELIB_API IShZdTradeInLib
{
public:
virtual void Release() = 0;
virtual int InitShZdServer()=0;//初始化服务器
virtual int RegisterFront(const char *pszFrontAddress,int portNum)=0; //连接前置服务器
virtual int RegisterMarket(const char *pszMarketAddress,int portNum)=0;//连接行情服务器
virtual int ShZdSendInfoToTrade(const CShZdMessage *send)=0; //向前置服务器发送交易请求
virtual int ShZdSendInfoToMarket(const CShZdMessage *send)=0;//向行情服务器发送行情请求
virtual int RegisterOutLib(IShZdTradeOutLibHandler handler)=0;
};
typedef IShZdTradeInLib* ShZdTradeInLibHandle;
// 此类是从 ShZdTradeLib.dll 导出的
class SHZDTRADELIB_API CShZdTradeLib {
public:
};
#else
#endif
#ifdef __cplusplus
# define EXTERN_C extern "C"
#else
# define EXTERN_C
#endif
EXTERN_C SHZDTRADELIB_API ShZdTradeInLibHandle GetShZdTradeLib(void);