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); };