421 lines
9.4 KiB
C++
421 lines
9.4 KiB
C++
|
void TdApi::OnFrontConnected()
|
||
|
{
|
||
|
Task task = Task();
|
||
|
task.task_name = ONFRONTCONNECTED;
|
||
|
this->task_queue.push(task);
|
||
|
};
|
||
|
|
||
|
void TdApi::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 TdApi::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 TdApi::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 TdApi::OnRspUserPasswordUpdate(CSgitFtdcUserPasswordUpdateField *pUserPasswordUpdate, CSgitFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
|
||
|
{
|
||
|
Task task = Task();
|
||
|
task.task_name = ONRSPUSERPASSWORDUPDATE;
|
||
|
|
||
|
if (pUserPasswordUpdate)
|
||
|
{
|
||
|
task.task_data = *pUserPasswordUpdate;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
CSgitFtdcUserPasswordUpdateField empty_data = CSgitFtdcUserPasswordUpdateField();
|
||
|
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 TdApi::OnRspOrderInsert(CSgitFtdcInputOrderField *pInputOrder, CSgitFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
|
||
|
{
|
||
|
Task task = Task();
|
||
|
task.task_name = ONRSPORDERINSERT;
|
||
|
|
||
|
if (pInputOrder)
|
||
|
{
|
||
|
task.task_data = *pInputOrder;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
CSgitFtdcInputOrderField empty_data = CSgitFtdcInputOrderField();
|
||
|
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 TdApi::OnRspOrderAction(CSgitFtdcInputOrderActionField *pInputOrderAction, CSgitFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
|
||
|
{
|
||
|
Task task = Task();
|
||
|
task.task_name = ONRSPORDERACTION;
|
||
|
|
||
|
if (pInputOrderAction)
|
||
|
{
|
||
|
task.task_data = *pInputOrderAction;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
CSgitFtdcInputOrderActionField empty_data = CSgitFtdcInputOrderActionField();
|
||
|
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 TdApi::OnRspQryOrder(CSgitFtdcOrderField *pOrder, CSgitFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
|
||
|
{
|
||
|
Task task = Task();
|
||
|
task.task_name = ONRSPQRYORDER;
|
||
|
|
||
|
if (pOrder)
|
||
|
{
|
||
|
task.task_data = *pOrder;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
CSgitFtdcOrderField empty_data = CSgitFtdcOrderField();
|
||
|
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 TdApi::OnRspQryTradingAccount(CSgitFtdcTradingAccountField *pTradingAccount, CSgitFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
|
||
|
{
|
||
|
Task task = Task();
|
||
|
task.task_name = ONRSPQRYTRADINGACCOUNT;
|
||
|
|
||
|
if (pTradingAccount)
|
||
|
{
|
||
|
task.task_data = *pTradingAccount;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
CSgitFtdcTradingAccountField empty_data = CSgitFtdcTradingAccountField();
|
||
|
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 TdApi::OnRspQryInvestor(CSgitFtdcInvestorField *pInvestor, CSgitFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
|
||
|
{
|
||
|
Task task = Task();
|
||
|
task.task_name = ONRSPQRYINVESTOR;
|
||
|
|
||
|
if (pInvestor)
|
||
|
{
|
||
|
task.task_data = *pInvestor;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
CSgitFtdcInvestorField empty_data = CSgitFtdcInvestorField();
|
||
|
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 TdApi::OnRspQryInstrument(CSgitFtdcInstrumentField *pInstrument, CSgitFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
|
||
|
{
|
||
|
Task task = Task();
|
||
|
task.task_name = ONRSPQRYINSTRUMENT;
|
||
|
|
||
|
if (pInstrument)
|
||
|
{
|
||
|
task.task_data = *pInstrument;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
CSgitFtdcInstrumentField empty_data = CSgitFtdcInstrumentField();
|
||
|
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 TdApi::OnRtnOrder(CSgitFtdcOrderField *pOrder,CSgitFtdcRspInfoField *pRspInfo)
|
||
|
{
|
||
|
Task task = Task();
|
||
|
task.task_name = ONRTNORDER;
|
||
|
|
||
|
if (pOrder,CSgitFtdcRspInfoField)
|
||
|
{
|
||
|
task.task_data = *pOrder,CSgitFtdcRspInfoField;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
CSgitFtdcOrderField empty_data = CSgitFtdcOrderField();
|
||
|
memset(&empty_data, 0, sizeof(empty_data));
|
||
|
task.task_data = empty_data;
|
||
|
}
|
||
|
this->task_queue.push(task);
|
||
|
};
|
||
|
|
||
|
void TdApi::OnRtnTrade(CSgitFtdcTradeField *pTrade)
|
||
|
{
|
||
|
Task task = Task();
|
||
|
task.task_name = ONRTNTRADE;
|
||
|
|
||
|
if (pTrade)
|
||
|
{
|
||
|
task.task_data = *pTrade;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
CSgitFtdcTradeField empty_data = CSgitFtdcTradeField();
|
||
|
memset(&empty_data, 0, sizeof(empty_data));
|
||
|
task.task_data = empty_data;
|
||
|
}
|
||
|
this->task_queue.push(task);
|
||
|
};
|
||
|
|
||
|
void TdApi::OnRtnInstrumentStatus(CSgitFtdcInstrumentStatusField *pInstrumentStatus)
|
||
|
{
|
||
|
Task task = Task();
|
||
|
task.task_name = ONRTNINSTRUMENTSTATUS;
|
||
|
|
||
|
if (pInstrumentStatus)
|
||
|
{
|
||
|
task.task_data = *pInstrumentStatus;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
CSgitFtdcInstrumentStatusField empty_data = CSgitFtdcInstrumentStatusField();
|
||
|
memset(&empty_data, 0, sizeof(empty_data));
|
||
|
task.task_data = empty_data;
|
||
|
}
|
||
|
this->task_queue.push(task);
|
||
|
};
|
||
|
|
||
|
void TdApi::OnRspQryInvestorPositionDetail(CSgitFtdcInvestorPositionDetailField *pInvestorPositionDetail, CSgitFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
|
||
|
{
|
||
|
Task task = Task();
|
||
|
task.task_name = ONRSPQRYINVESTORPOSITIONDETAIL;
|
||
|
|
||
|
if (pInvestorPositionDetail)
|
||
|
{
|
||
|
task.task_data = *pInvestorPositionDetail;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
CSgitFtdcInvestorPositionDetailField empty_data = CSgitFtdcInvestorPositionDetailField();
|
||
|
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 TdApi::OnRspQryInvestorPosition(CSgitFtdcInvestorPositionField *pInvestorPosition, CSgitFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
|
||
|
{
|
||
|
Task task = Task();
|
||
|
task.task_name = ONRSPQRYINVESTORPOSITION;
|
||
|
|
||
|
if (pInvestorPosition)
|
||
|
{
|
||
|
task.task_data = *pInvestorPosition;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
CSgitFtdcInvestorPositionField empty_data = CSgitFtdcInvestorPositionField();
|
||
|
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);
|
||
|
};
|
||
|
|