108 lines
2.2 KiB
C++
108 lines
2.2 KiB
C++
|
void MdApi::OnFrontConnected()
|
||
|
{
|
||
|
Task task = Task();
|
||
|
task.task_name = ONFRONTCONNECTED;
|
||
|
this->task_queue.push(task);
|
||
|
};
|
||
|
|
||
|
void MdApi::OnFrontDisconnected(char *pErrMsg)
|
||
|
{
|
||
|
Task task = Task();
|
||
|
task.task_name = ONFRONTDISCONNECTED;
|
||
|
|
||
|
if (pErrMsg{};
|
||
|
)
|
||
|
{
|
||
|
task.task_data = *pErrMsg{};
|
||
|
;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
char empty_data = char();
|
||
|
memset(&empty_data, 0, sizeof(empty_data));
|
||
|
task.task_data = empty_data;
|
||
|
}
|
||
|
this->task_queue.push(task);
|
||
|
};
|
||
|
|
||
|
void MdApi::OnRspUserLogin(CSgitFtdcRspUserLoginField *pRspUserLogin, CSgitFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
|
||
|
{
|
||
|
Task task = Task();
|
||
|
task.task_name = ONRSPUSERLOGIN;
|
||
|
|
||
|
if (pRspUserLogin)
|
||
|
{
|
||
|
task.task_data = *pRspUserLogin;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
CSgitFtdcRspUserLoginField empty_data = CSgitFtdcRspUserLoginField();
|
||
|
memset(&empty_data, 0, sizeof(empty_data));
|
||
|
task.task_data = empty_data;
|
||
|
}
|
||
|
|
||
|
if (pRspInfo)
|
||
|
{
|
||
|
task.task_error = *pRspInfo;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
CSgitFtdcRspInfoField empty_error = CSgitFtdcRspInfoField();
|
||
|
memset(&empty_error, 0, sizeof(empty_error));
|
||
|
task.task_error = empty_error;
|
||
|
}
|
||
|
task.task_id = nRequestID;
|
||
|
task.task_last = bIsLast;
|
||
|
this->task_queue.push(task);
|
||
|
};
|
||
|
|
||
|
void MdApi::OnRspUserLogout(CSgitFtdcUserLogoutField *pUserLogout, CSgitFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
|
||
|
{
|
||
|
Task task = Task();
|
||
|
task.task_name = ONRSPUSERLOGOUT;
|
||
|
|
||
|
if (pUserLogout)
|
||
|
{
|
||
|
task.task_data = *pUserLogout;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
CSgitFtdcUserLogoutField empty_data = CSgitFtdcUserLogoutField();
|
||
|
memset(&empty_data, 0, sizeof(empty_data));
|
||
|
task.task_data = empty_data;
|
||
|
}
|
||
|
|
||
|
if (pRspInfo)
|
||
|
{
|
||
|
task.task_error = *pRspInfo;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
CSgitFtdcRspInfoField empty_error = CSgitFtdcRspInfoField();
|
||
|
memset(&empty_error, 0, sizeof(empty_error));
|
||
|
task.task_error = empty_error;
|
||
|
}
|
||
|
task.task_id = nRequestID;
|
||
|
task.task_last = bIsLast;
|
||
|
this->task_queue.push(task);
|
||
|
};
|
||
|
|
||
|
void MdApi::OnRtnDepthMarketData(CSgitFtdcDepthMarketDataField *pDepthMarketData)
|
||
|
{
|
||
|
Task task = Task();
|
||
|
task.task_name = ONRTNDEPTHMARKETDATA;
|
||
|
|
||
|
if (pDepthMarketData)
|
||
|
{
|
||
|
task.task_data = *pDepthMarketData;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
CSgitFtdcDepthMarketDataField empty_data = CSgitFtdcDepthMarketDataField();
|
||
|
memset(&empty_data, 0, sizeof(empty_data));
|
||
|
task.task_data = empty_data;
|
||
|
}
|
||
|
this->task_queue.push(task);
|
||
|
};
|
||
|
|