void TdApi::OnFrontConnected() { Task task = Task(); task.task_name = ONFRONTCONNECTED; this->task_queue.push(task); }; void TdApi::OnFrontDisconnected(int nReason) { Task task = Task(); task.task_name = ONFRONTDISCONNECTED; task.task_id = nReason; this->task_queue.push(task); }; void TdApi::OnHeartBeatWarning(int nTimeLapse) { Task task = Task(); task.task_name = ONHEARTBEATWARNING; task.task_id = nTimeLapse; this->task_queue.push(task); }; void TdApi::OnRspAuthenticate(CThostFtdcRspAuthenticateField *pRspAuthenticateField, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPAUTHENTICATE; if (pRspAuthenticateField) { task.task_data = *pRspAuthenticateField; } else { CThostFtdcRspAuthenticateField empty_data = CThostFtdcRspAuthenticateField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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::OnRspUserLogin(CThostFtdcRspUserLoginField *pRspUserLogin, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPUSERLOGIN; if (pRspUserLogin) { task.task_data = *pRspUserLogin; } else { CThostFtdcRspUserLoginField empty_data = CThostFtdcRspUserLoginField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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(CThostFtdcUserLogoutField *pUserLogout, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPUSERLOGOUT; if (pUserLogout) { task.task_data = *pUserLogout; } else { CThostFtdcUserLogoutField empty_data = CThostFtdcUserLogoutField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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(CThostFtdcUserPasswordUpdateField *pUserPasswordUpdate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPUSERPASSWORDUPDATE; if (pUserPasswordUpdate) { task.task_data = *pUserPasswordUpdate; } else { CThostFtdcUserPasswordUpdateField empty_data = CThostFtdcUserPasswordUpdateField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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::OnRspTradingAccountPasswordUpdate(CThostFtdcTradingAccountPasswordUpdateField *pTradingAccountPasswordUpdate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPTRADINGACCOUNTPASSWORDUPDATE; if (pTradingAccountPasswordUpdate) { task.task_data = *pTradingAccountPasswordUpdate; } else { CThostFtdcTradingAccountPasswordUpdateField empty_data = CThostFtdcTradingAccountPasswordUpdateField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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(CThostFtdcInputOrderField *pInputOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPORDERINSERT; if (pInputOrder) { task.task_data = *pInputOrder; } else { CThostFtdcInputOrderField empty_data = CThostFtdcInputOrderField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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::OnRspParkedOrderInsert(CThostFtdcParkedOrderField *pParkedOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPPARKEDORDERINSERT; if (pParkedOrder) { task.task_data = *pParkedOrder; } else { CThostFtdcParkedOrderField empty_data = CThostFtdcParkedOrderField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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::OnRspParkedOrderAction(CThostFtdcParkedOrderActionField *pParkedOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPPARKEDORDERACTION; if (pParkedOrderAction) { task.task_data = *pParkedOrderAction; } else { CThostFtdcParkedOrderActionField empty_data = CThostFtdcParkedOrderActionField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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(CThostFtdcInputOrderActionField *pInputOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPORDERACTION; if (pInputOrderAction) { task.task_data = *pInputOrderAction; } else { CThostFtdcInputOrderActionField empty_data = CThostFtdcInputOrderActionField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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::OnRspQueryMaxOrderVolume(CThostFtdcQueryMaxOrderVolumeField *pQueryMaxOrderVolume, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPQUERYMAXORDERVOLUME; if (pQueryMaxOrderVolume) { task.task_data = *pQueryMaxOrderVolume; } else { CThostFtdcQueryMaxOrderVolumeField empty_data = CThostFtdcQueryMaxOrderVolumeField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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::OnRspSettlementInfoConfirm(CThostFtdcSettlementInfoConfirmField *pSettlementInfoConfirm, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPSETTLEMENTINFOCONFIRM; if (pSettlementInfoConfirm) { task.task_data = *pSettlementInfoConfirm; } else { CThostFtdcSettlementInfoConfirmField empty_data = CThostFtdcSettlementInfoConfirmField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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::OnRspRemoveParkedOrder(CThostFtdcRemoveParkedOrderField *pRemoveParkedOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPREMOVEPARKEDORDER; if (pRemoveParkedOrder) { task.task_data = *pRemoveParkedOrder; } else { CThostFtdcRemoveParkedOrderField empty_data = CThostFtdcRemoveParkedOrderField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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::OnRspRemoveParkedOrderAction(CThostFtdcRemoveParkedOrderActionField *pRemoveParkedOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPREMOVEPARKEDORDERACTION; if (pRemoveParkedOrderAction) { task.task_data = *pRemoveParkedOrderAction; } else { CThostFtdcRemoveParkedOrderActionField empty_data = CThostFtdcRemoveParkedOrderActionField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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::OnRspExecOrderInsert(CThostFtdcInputExecOrderField *pInputExecOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPEXECORDERINSERT; if (pInputExecOrder) { task.task_data = *pInputExecOrder; } else { CThostFtdcInputExecOrderField empty_data = CThostFtdcInputExecOrderField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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::OnRspExecOrderAction(CThostFtdcInputExecOrderActionField *pInputExecOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPEXECORDERACTION; if (pInputExecOrderAction) { task.task_data = *pInputExecOrderAction; } else { CThostFtdcInputExecOrderActionField empty_data = CThostFtdcInputExecOrderActionField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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::OnRspForQuoteInsert(CThostFtdcInputForQuoteField *pInputForQuote, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPFORQUOTEINSERT; if (pInputForQuote) { task.task_data = *pInputForQuote; } else { CThostFtdcInputForQuoteField empty_data = CThostFtdcInputForQuoteField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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::OnRspQuoteInsert(CThostFtdcInputQuoteField *pInputQuote, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPQUOTEINSERT; if (pInputQuote) { task.task_data = *pInputQuote; } else { CThostFtdcInputQuoteField empty_data = CThostFtdcInputQuoteField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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::OnRspQuoteAction(CThostFtdcInputQuoteActionField *pInputQuoteAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPQUOTEACTION; if (pInputQuoteAction) { task.task_data = *pInputQuoteAction; } else { CThostFtdcInputQuoteActionField empty_data = CThostFtdcInputQuoteActionField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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(CThostFtdcOrderField *pOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPQRYORDER; if (pOrder) { task.task_data = *pOrder; } else { CThostFtdcOrderField empty_data = CThostFtdcOrderField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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::OnRspQryTrade(CThostFtdcTradeField *pTrade, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPQRYTRADE; if (pTrade) { task.task_data = *pTrade; } else { CThostFtdcTradeField empty_data = CThostFtdcTradeField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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(CThostFtdcInvestorPositionField *pInvestorPosition, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPQRYINVESTORPOSITION; if (pInvestorPosition) { task.task_data = *pInvestorPosition; } else { CThostFtdcInvestorPositionField empty_data = CThostFtdcInvestorPositionField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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(CThostFtdcTradingAccountField *pTradingAccount, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPQRYTRADINGACCOUNT; if (pTradingAccount) { task.task_data = *pTradingAccount; } else { CThostFtdcTradingAccountField empty_data = CThostFtdcTradingAccountField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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(CThostFtdcInvestorField *pInvestor, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPQRYINVESTOR; if (pInvestor) { task.task_data = *pInvestor; } else { CThostFtdcInvestorField empty_data = CThostFtdcInvestorField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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::OnRspQryTradingCode(CThostFtdcTradingCodeField *pTradingCode, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPQRYTRADINGCODE; if (pTradingCode) { task.task_data = *pTradingCode; } else { CThostFtdcTradingCodeField empty_data = CThostFtdcTradingCodeField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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::OnRspQryInstrumentMarginRate(CThostFtdcInstrumentMarginRateField *pInstrumentMarginRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPQRYINSTRUMENTMARGINRATE; if (pInstrumentMarginRate) { task.task_data = *pInstrumentMarginRate; } else { CThostFtdcInstrumentMarginRateField empty_data = CThostFtdcInstrumentMarginRateField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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::OnRspQryInstrumentCommissionRate(CThostFtdcInstrumentCommissionRateField *pInstrumentCommissionRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPQRYINSTRUMENTCOMMISSIONRATE; if (pInstrumentCommissionRate) { task.task_data = *pInstrumentCommissionRate; } else { CThostFtdcInstrumentCommissionRateField empty_data = CThostFtdcInstrumentCommissionRateField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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::OnRspQryExchange(CThostFtdcExchangeField *pExchange, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPQRYEXCHANGE; if (pExchange) { task.task_data = *pExchange; } else { CThostFtdcExchangeField empty_data = CThostFtdcExchangeField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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::OnRspQryProduct(CThostFtdcProductField *pProduct, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPQRYPRODUCT; if (pProduct) { task.task_data = *pProduct; } else { CThostFtdcProductField empty_data = CThostFtdcProductField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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(CThostFtdcInstrumentField *pInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPQRYINSTRUMENT; if (pInstrument) { task.task_data = *pInstrument; } else { CThostFtdcInstrumentField empty_data = CThostFtdcInstrumentField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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::OnRspQryDepthMarketData(CThostFtdcDepthMarketDataField *pDepthMarketData, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPQRYDEPTHMARKETDATA; if (pDepthMarketData) { task.task_data = *pDepthMarketData; } else { CThostFtdcDepthMarketDataField empty_data = CThostFtdcDepthMarketDataField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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::OnRspQrySettlementInfo(CThostFtdcSettlementInfoField *pSettlementInfo, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPQRYSETTLEMENTINFO; if (pSettlementInfo) { task.task_data = *pSettlementInfo; } else { CThostFtdcSettlementInfoField empty_data = CThostFtdcSettlementInfoField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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::OnRspQryTransferBank(CThostFtdcTransferBankField *pTransferBank, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPQRYTRANSFERBANK; if (pTransferBank) { task.task_data = *pTransferBank; } else { CThostFtdcTransferBankField empty_data = CThostFtdcTransferBankField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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::OnRspQryInvestorPositionDetail(CThostFtdcInvestorPositionDetailField *pInvestorPositionDetail, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPQRYINVESTORPOSITIONDETAIL; if (pInvestorPositionDetail) { task.task_data = *pInvestorPositionDetail; } else { CThostFtdcInvestorPositionDetailField empty_data = CThostFtdcInvestorPositionDetailField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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::OnRspQryNotice(CThostFtdcNoticeField *pNotice, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPQRYNOTICE; if (pNotice) { task.task_data = *pNotice; } else { CThostFtdcNoticeField empty_data = CThostFtdcNoticeField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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::OnRspQrySettlementInfoConfirm(CThostFtdcSettlementInfoConfirmField *pSettlementInfoConfirm, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPQRYSETTLEMENTINFOCONFIRM; if (pSettlementInfoConfirm) { task.task_data = *pSettlementInfoConfirm; } else { CThostFtdcSettlementInfoConfirmField empty_data = CThostFtdcSettlementInfoConfirmField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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::OnRspQryInvestorPositionCombineDetail(CThostFtdcInvestorPositionCombineDetailField *pInvestorPositionCombineDetail, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPQRYINVESTORPOSITIONCOMBINEDETAIL; if (pInvestorPositionCombineDetail) { task.task_data = *pInvestorPositionCombineDetail; } else { CThostFtdcInvestorPositionCombineDetailField empty_data = CThostFtdcInvestorPositionCombineDetailField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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::OnRspQryCFMMCTradingAccountKey(CThostFtdcCFMMCTradingAccountKeyField *pCFMMCTradingAccountKey, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPQRYCFMMCTRADINGACCOUNTKEY; if (pCFMMCTradingAccountKey) { task.task_data = *pCFMMCTradingAccountKey; } else { CThostFtdcCFMMCTradingAccountKeyField empty_data = CThostFtdcCFMMCTradingAccountKeyField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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::OnRspQryEWarrantOffset(CThostFtdcEWarrantOffsetField *pEWarrantOffset, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPQRYEWARRANTOFFSET; if (pEWarrantOffset) { task.task_data = *pEWarrantOffset; } else { CThostFtdcEWarrantOffsetField empty_data = CThostFtdcEWarrantOffsetField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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::OnRspQryInvestorProductGroupMargin(CThostFtdcInvestorProductGroupMarginField *pInvestorProductGroupMargin, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPQRYINVESTORPRODUCTGROUPMARGIN; if (pInvestorProductGroupMargin) { task.task_data = *pInvestorProductGroupMargin; } else { CThostFtdcInvestorProductGroupMarginField empty_data = CThostFtdcInvestorProductGroupMarginField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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::OnRspQryExchangeMarginRate(CThostFtdcExchangeMarginRateField *pExchangeMarginRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPQRYEXCHANGEMARGINRATE; if (pExchangeMarginRate) { task.task_data = *pExchangeMarginRate; } else { CThostFtdcExchangeMarginRateField empty_data = CThostFtdcExchangeMarginRateField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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::OnRspQryExchangeMarginRateAdjust(CThostFtdcExchangeMarginRateAdjustField *pExchangeMarginRateAdjust, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPQRYEXCHANGEMARGINRATEADJUST; if (pExchangeMarginRateAdjust) { task.task_data = *pExchangeMarginRateAdjust; } else { CThostFtdcExchangeMarginRateAdjustField empty_data = CThostFtdcExchangeMarginRateAdjustField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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::OnRspQryExchangeRate(CThostFtdcExchangeRateField *pExchangeRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPQRYEXCHANGERATE; if (pExchangeRate) { task.task_data = *pExchangeRate; } else { CThostFtdcExchangeRateField empty_data = CThostFtdcExchangeRateField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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::OnRspQrySecAgentACIDMap(CThostFtdcSecAgentACIDMapField *pSecAgentACIDMap, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPQRYSECAGENTACIDMAP; if (pSecAgentACIDMap) { task.task_data = *pSecAgentACIDMap; } else { CThostFtdcSecAgentACIDMapField empty_data = CThostFtdcSecAgentACIDMapField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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::OnRspQryOptionInstrTradeCost(CThostFtdcOptionInstrTradeCostField *pOptionInstrTradeCost, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPQRYOPTIONINSTRTRADECOST; if (pOptionInstrTradeCost) { task.task_data = *pOptionInstrTradeCost; } else { CThostFtdcOptionInstrTradeCostField empty_data = CThostFtdcOptionInstrTradeCostField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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::OnRspQryOptionInstrCommRate(CThostFtdcOptionInstrCommRateField *pOptionInstrCommRate, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPQRYOPTIONINSTRCOMMRATE; if (pOptionInstrCommRate) { task.task_data = *pOptionInstrCommRate; } else { CThostFtdcOptionInstrCommRateField empty_data = CThostFtdcOptionInstrCommRateField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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::OnRspQryExecOrder(CThostFtdcExecOrderField *pExecOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPQRYEXECORDER; if (pExecOrder) { task.task_data = *pExecOrder; } else { CThostFtdcExecOrderField empty_data = CThostFtdcExecOrderField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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::OnRspQryForQuote(CThostFtdcForQuoteField *pForQuote, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPQRYFORQUOTE; if (pForQuote) { task.task_data = *pForQuote; } else { CThostFtdcForQuoteField empty_data = CThostFtdcForQuoteField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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::OnRspQryQuote(CThostFtdcQuoteField *pQuote, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPQRYQUOTE; if (pQuote) { task.task_data = *pQuote; } else { CThostFtdcQuoteField empty_data = CThostFtdcQuoteField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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::OnRspQryTransferSerial(CThostFtdcTransferSerialField *pTransferSerial, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPQRYTRANSFERSERIAL; if (pTransferSerial) { task.task_data = *pTransferSerial; } else { CThostFtdcTransferSerialField empty_data = CThostFtdcTransferSerialField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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::OnRspQryAccountregister(CThostFtdcAccountregisterField *pAccountregister, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPQRYACCOUNTREGISTER; if (pAccountregister) { task.task_data = *pAccountregister; } else { CThostFtdcAccountregisterField empty_data = CThostFtdcAccountregisterField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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::OnRspError(CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPERROR; if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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(CThostFtdcOrderField *pOrder) { Task task = Task(); task.task_name = ONRTNORDER; if (pOrder) { task.task_data = *pOrder; } else { CThostFtdcOrderField empty_data = CThostFtdcOrderField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } this->task_queue.push(task); }; void TdApi::OnRtnTrade(CThostFtdcTradeField *pTrade) { Task task = Task(); task.task_name = ONRTNTRADE; if (pTrade) { task.task_data = *pTrade; } else { CThostFtdcTradeField empty_data = CThostFtdcTradeField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } this->task_queue.push(task); }; void TdApi::OnErrRtnOrderInsert(CThostFtdcInputOrderField *pInputOrder, CThostFtdcRspInfoField *pRspInfo) { Task task = Task(); task.task_name = ONERRRTNORDERINSERT; if (pInputOrder) { task.task_data = *pInputOrder; } else { CThostFtdcInputOrderField empty_data = CThostFtdcInputOrderField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); memset(&empty_error, 0, sizeof(empty_error)); task.task_error = empty_error; } this->task_queue.push(task); }; void TdApi::OnErrRtnOrderAction(CThostFtdcOrderActionField *pOrderAction, CThostFtdcRspInfoField *pRspInfo) { Task task = Task(); task.task_name = ONERRRTNORDERACTION; if (pOrderAction) { task.task_data = *pOrderAction; } else { CThostFtdcOrderActionField empty_data = CThostFtdcOrderActionField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); memset(&empty_error, 0, sizeof(empty_error)); task.task_error = empty_error; } this->task_queue.push(task); }; void TdApi::OnRtnInstrumentStatus(CThostFtdcInstrumentStatusField *pInstrumentStatus) { Task task = Task(); task.task_name = ONRTNINSTRUMENTSTATUS; if (pInstrumentStatus) { task.task_data = *pInstrumentStatus; } else { CThostFtdcInstrumentStatusField empty_data = CThostFtdcInstrumentStatusField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } this->task_queue.push(task); }; void TdApi::OnRtnTradingNotice(CThostFtdcTradingNoticeInfoField *pTradingNoticeInfo) { Task task = Task(); task.task_name = ONRTNTRADINGNOTICE; if (pTradingNoticeInfo) { task.task_data = *pTradingNoticeInfo; } else { CThostFtdcTradingNoticeInfoField empty_data = CThostFtdcTradingNoticeInfoField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } this->task_queue.push(task); }; void TdApi::OnRtnErrorConditionalOrder(CThostFtdcErrorConditionalOrderField *pErrorConditionalOrder) { Task task = Task(); task.task_name = ONRTNERRORCONDITIONALORDER; if (pErrorConditionalOrder) { task.task_data = *pErrorConditionalOrder; } else { CThostFtdcErrorConditionalOrderField empty_data = CThostFtdcErrorConditionalOrderField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } this->task_queue.push(task); }; void TdApi::OnRtnExecOrder(CThostFtdcExecOrderField *pExecOrder) { Task task = Task(); task.task_name = ONRTNEXECORDER; if (pExecOrder) { task.task_data = *pExecOrder; } else { CThostFtdcExecOrderField empty_data = CThostFtdcExecOrderField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } this->task_queue.push(task); }; void TdApi::OnErrRtnExecOrderInsert(CThostFtdcInputExecOrderField *pInputExecOrder, CThostFtdcRspInfoField *pRspInfo) { Task task = Task(); task.task_name = ONERRRTNEXECORDERINSERT; if (pInputExecOrder) { task.task_data = *pInputExecOrder; } else { CThostFtdcInputExecOrderField empty_data = CThostFtdcInputExecOrderField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); memset(&empty_error, 0, sizeof(empty_error)); task.task_error = empty_error; } this->task_queue.push(task); }; void TdApi::OnErrRtnExecOrderAction(CThostFtdcExecOrderActionField *pExecOrderAction, CThostFtdcRspInfoField *pRspInfo) { Task task = Task(); task.task_name = ONERRRTNEXECORDERACTION; if (pExecOrderAction) { task.task_data = *pExecOrderAction; } else { CThostFtdcExecOrderActionField empty_data = CThostFtdcExecOrderActionField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); memset(&empty_error, 0, sizeof(empty_error)); task.task_error = empty_error; } this->task_queue.push(task); }; void TdApi::OnErrRtnForQuoteInsert(CThostFtdcInputForQuoteField *pInputForQuote, CThostFtdcRspInfoField *pRspInfo) { Task task = Task(); task.task_name = ONERRRTNFORQUOTEINSERT; if (pInputForQuote) { task.task_data = *pInputForQuote; } else { CThostFtdcInputForQuoteField empty_data = CThostFtdcInputForQuoteField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); memset(&empty_error, 0, sizeof(empty_error)); task.task_error = empty_error; } this->task_queue.push(task); }; void TdApi::OnRtnQuote(CThostFtdcQuoteField *pQuote) { Task task = Task(); task.task_name = ONRTNQUOTE; if (pQuote) { task.task_data = *pQuote; } else { CThostFtdcQuoteField empty_data = CThostFtdcQuoteField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } this->task_queue.push(task); }; void TdApi::OnErrRtnQuoteInsert(CThostFtdcInputQuoteField *pInputQuote, CThostFtdcRspInfoField *pRspInfo) { Task task = Task(); task.task_name = ONERRRTNQUOTEINSERT; if (pInputQuote) { task.task_data = *pInputQuote; } else { CThostFtdcInputQuoteField empty_data = CThostFtdcInputQuoteField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); memset(&empty_error, 0, sizeof(empty_error)); task.task_error = empty_error; } this->task_queue.push(task); }; void TdApi::OnErrRtnQuoteAction(CThostFtdcQuoteActionField *pQuoteAction, CThostFtdcRspInfoField *pRspInfo) { Task task = Task(); task.task_name = ONERRRTNQUOTEACTION; if (pQuoteAction) { task.task_data = *pQuoteAction; } else { CThostFtdcQuoteActionField empty_data = CThostFtdcQuoteActionField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); memset(&empty_error, 0, sizeof(empty_error)); task.task_error = empty_error; } this->task_queue.push(task); }; void TdApi::OnRtnForQuoteRsp(CThostFtdcForQuoteRspField *pForQuoteRsp) { Task task = Task(); task.task_name = ONRTNFORQUOTERSP; if (pForQuoteRsp) { task.task_data = *pForQuoteRsp; } else { CThostFtdcForQuoteRspField empty_data = CThostFtdcForQuoteRspField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } this->task_queue.push(task); }; void TdApi::OnRspQryContractBank(CThostFtdcContractBankField *pContractBank, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPQRYCONTRACTBANK; if (pContractBank) { task.task_data = *pContractBank; } else { CThostFtdcContractBankField empty_data = CThostFtdcContractBankField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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::OnRspQryParkedOrder(CThostFtdcParkedOrderField *pParkedOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPQRYPARKEDORDER; if (pParkedOrder) { task.task_data = *pParkedOrder; } else { CThostFtdcParkedOrderField empty_data = CThostFtdcParkedOrderField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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::OnRspQryParkedOrderAction(CThostFtdcParkedOrderActionField *pParkedOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPQRYPARKEDORDERACTION; if (pParkedOrderAction) { task.task_data = *pParkedOrderAction; } else { CThostFtdcParkedOrderActionField empty_data = CThostFtdcParkedOrderActionField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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::OnRspQryTradingNotice(CThostFtdcTradingNoticeField *pTradingNotice, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPQRYTRADINGNOTICE; if (pTradingNotice) { task.task_data = *pTradingNotice; } else { CThostFtdcTradingNoticeField empty_data = CThostFtdcTradingNoticeField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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::OnRspQryBrokerTradingParams(CThostFtdcBrokerTradingParamsField *pBrokerTradingParams, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPQRYBROKERTRADINGPARAMS; if (pBrokerTradingParams) { task.task_data = *pBrokerTradingParams; } else { CThostFtdcBrokerTradingParamsField empty_data = CThostFtdcBrokerTradingParamsField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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::OnRspQryBrokerTradingAlgos(CThostFtdcBrokerTradingAlgosField *pBrokerTradingAlgos, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPQRYBROKERTRADINGALGOS; if (pBrokerTradingAlgos) { task.task_data = *pBrokerTradingAlgos; } else { CThostFtdcBrokerTradingAlgosField empty_data = CThostFtdcBrokerTradingAlgosField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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::OnRtnFromBankToFutureByBank(CThostFtdcRspTransferField *pRspTransfer) { Task task = Task(); task.task_name = ONRTNFROMBANKTOFUTUREBYBANK; if (pRspTransfer) { task.task_data = *pRspTransfer; } else { CThostFtdcRspTransferField empty_data = CThostFtdcRspTransferField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } this->task_queue.push(task); }; void TdApi::OnRtnFromFutureToBankByBank(CThostFtdcRspTransferField *pRspTransfer) { Task task = Task(); task.task_name = ONRTNFROMFUTURETOBANKBYBANK; if (pRspTransfer) { task.task_data = *pRspTransfer; } else { CThostFtdcRspTransferField empty_data = CThostFtdcRspTransferField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } this->task_queue.push(task); }; void TdApi::OnRtnRepealFromBankToFutureByBank(CThostFtdcRspRepealField *pRspRepeal) { Task task = Task(); task.task_name = ONRTNREPEALFROMBANKTOFUTUREBYBANK; if (pRspRepeal) { task.task_data = *pRspRepeal; } else { CThostFtdcRspRepealField empty_data = CThostFtdcRspRepealField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } this->task_queue.push(task); }; void TdApi::OnRtnRepealFromFutureToBankByBank(CThostFtdcRspRepealField *pRspRepeal) { Task task = Task(); task.task_name = ONRTNREPEALFROMFUTURETOBANKBYBANK; if (pRspRepeal) { task.task_data = *pRspRepeal; } else { CThostFtdcRspRepealField empty_data = CThostFtdcRspRepealField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } this->task_queue.push(task); }; void TdApi::OnRtnFromBankToFutureByFuture(CThostFtdcRspTransferField *pRspTransfer) { Task task = Task(); task.task_name = ONRTNFROMBANKTOFUTUREBYFUTURE; if (pRspTransfer) { task.task_data = *pRspTransfer; } else { CThostFtdcRspTransferField empty_data = CThostFtdcRspTransferField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } this->task_queue.push(task); }; void TdApi::OnRtnFromFutureToBankByFuture(CThostFtdcRspTransferField *pRspTransfer) { Task task = Task(); task.task_name = ONRTNFROMFUTURETOBANKBYFUTURE; if (pRspTransfer) { task.task_data = *pRspTransfer; } else { CThostFtdcRspTransferField empty_data = CThostFtdcRspTransferField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } this->task_queue.push(task); }; void TdApi::OnRtnRepealFromBankToFutureByFutureManual(CThostFtdcRspRepealField *pRspRepeal) { Task task = Task(); task.task_name = ONRTNREPEALFROMBANKTOFUTUREBYFUTUREMANUAL; if (pRspRepeal) { task.task_data = *pRspRepeal; } else { CThostFtdcRspRepealField empty_data = CThostFtdcRspRepealField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } this->task_queue.push(task); }; void TdApi::OnRtnRepealFromFutureToBankByFutureManual(CThostFtdcRspRepealField *pRspRepeal) { Task task = Task(); task.task_name = ONRTNREPEALFROMFUTURETOBANKBYFUTUREMANUAL; if (pRspRepeal) { task.task_data = *pRspRepeal; } else { CThostFtdcRspRepealField empty_data = CThostFtdcRspRepealField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } this->task_queue.push(task); }; void TdApi::OnRtnQueryBankBalanceByFuture(CThostFtdcNotifyQueryAccountField *pNotifyQueryAccount) { Task task = Task(); task.task_name = ONRTNQUERYBANKBALANCEBYFUTURE; if (pNotifyQueryAccount) { task.task_data = *pNotifyQueryAccount; } else { CThostFtdcNotifyQueryAccountField empty_data = CThostFtdcNotifyQueryAccountField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } this->task_queue.push(task); }; void TdApi::OnErrRtnBankToFutureByFuture(CThostFtdcReqTransferField *pReqTransfer, CThostFtdcRspInfoField *pRspInfo) { Task task = Task(); task.task_name = ONERRRTNBANKTOFUTUREBYFUTURE; if (pReqTransfer) { task.task_data = *pReqTransfer; } else { CThostFtdcReqTransferField empty_data = CThostFtdcReqTransferField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); memset(&empty_error, 0, sizeof(empty_error)); task.task_error = empty_error; } this->task_queue.push(task); }; void TdApi::OnErrRtnFutureToBankByFuture(CThostFtdcReqTransferField *pReqTransfer, CThostFtdcRspInfoField *pRspInfo) { Task task = Task(); task.task_name = ONERRRTNFUTURETOBANKBYFUTURE; if (pReqTransfer) { task.task_data = *pReqTransfer; } else { CThostFtdcReqTransferField empty_data = CThostFtdcReqTransferField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); memset(&empty_error, 0, sizeof(empty_error)); task.task_error = empty_error; } this->task_queue.push(task); }; void TdApi::OnErrRtnRepealBankToFutureByFutureManual(CThostFtdcReqRepealField *pReqRepeal, CThostFtdcRspInfoField *pRspInfo) { Task task = Task(); task.task_name = ONERRRTNREPEALBANKTOFUTUREBYFUTUREMANUAL; if (pReqRepeal) { task.task_data = *pReqRepeal; } else { CThostFtdcReqRepealField empty_data = CThostFtdcReqRepealField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); memset(&empty_error, 0, sizeof(empty_error)); task.task_error = empty_error; } this->task_queue.push(task); }; void TdApi::OnErrRtnRepealFutureToBankByFutureManual(CThostFtdcReqRepealField *pReqRepeal, CThostFtdcRspInfoField *pRspInfo) { Task task = Task(); task.task_name = ONERRRTNREPEALFUTURETOBANKBYFUTUREMANUAL; if (pReqRepeal) { task.task_data = *pReqRepeal; } else { CThostFtdcReqRepealField empty_data = CThostFtdcReqRepealField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); memset(&empty_error, 0, sizeof(empty_error)); task.task_error = empty_error; } this->task_queue.push(task); }; void TdApi::OnErrRtnQueryBankBalanceByFuture(CThostFtdcReqQueryAccountField *pReqQueryAccount, CThostFtdcRspInfoField *pRspInfo) { Task task = Task(); task.task_name = ONERRRTNQUERYBANKBALANCEBYFUTURE; if (pReqQueryAccount) { task.task_data = *pReqQueryAccount; } else { CThostFtdcReqQueryAccountField empty_data = CThostFtdcReqQueryAccountField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); memset(&empty_error, 0, sizeof(empty_error)); task.task_error = empty_error; } this->task_queue.push(task); }; void TdApi::OnRtnRepealFromBankToFutureByFuture(CThostFtdcRspRepealField *pRspRepeal) { Task task = Task(); task.task_name = ONRTNREPEALFROMBANKTOFUTUREBYFUTURE; if (pRspRepeal) { task.task_data = *pRspRepeal; } else { CThostFtdcRspRepealField empty_data = CThostFtdcRspRepealField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } this->task_queue.push(task); }; void TdApi::OnRtnRepealFromFutureToBankByFuture(CThostFtdcRspRepealField *pRspRepeal) { Task task = Task(); task.task_name = ONRTNREPEALFROMFUTURETOBANKBYFUTURE; if (pRspRepeal) { task.task_data = *pRspRepeal; } else { CThostFtdcRspRepealField empty_data = CThostFtdcRspRepealField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } this->task_queue.push(task); }; void TdApi::OnRspFromBankToFutureByFuture(CThostFtdcReqTransferField *pReqTransfer, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPFROMBANKTOFUTUREBYFUTURE; if (pReqTransfer) { task.task_data = *pReqTransfer; } else { CThostFtdcReqTransferField empty_data = CThostFtdcReqTransferField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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::OnRspFromFutureToBankByFuture(CThostFtdcReqTransferField *pReqTransfer, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPFROMFUTURETOBANKBYFUTURE; if (pReqTransfer) { task.task_data = *pReqTransfer; } else { CThostFtdcReqTransferField empty_data = CThostFtdcReqTransferField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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::OnRspQueryBankAccountMoneyByFuture(CThostFtdcReqQueryAccountField *pReqQueryAccount, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPQUERYBANKACCOUNTMONEYBYFUTURE; if (pReqQueryAccount) { task.task_data = *pReqQueryAccount; } else { CThostFtdcReqQueryAccountField empty_data = CThostFtdcReqQueryAccountField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); 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::OnRtnOpenAccountByBank(CThostFtdcOpenAccountField *pOpenAccount) { Task task = Task(); task.task_name = ONRTNOPENACCOUNTBYBANK; if (pOpenAccount) { task.task_data = *pOpenAccount; } else { CThostFtdcOpenAccountField empty_data = CThostFtdcOpenAccountField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } this->task_queue.push(task); }; void TdApi::OnRtnCancelAccountByBank(CThostFtdcCancelAccountField *pCancelAccount) { Task task = Task(); task.task_name = ONRTNCANCELACCOUNTBYBANK; if (pCancelAccount) { task.task_data = *pCancelAccount; } else { CThostFtdcCancelAccountField empty_data = CThostFtdcCancelAccountField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } this->task_queue.push(task); }; void TdApi::OnRtnChangeAccountByBank(CThostFtdcChangeAccountField *pChangeAccount) { Task task = Task(); task.task_name = ONRTNCHANGEACCOUNTBYBANK; if (pChangeAccount) { task.task_data = *pChangeAccount; } else { CThostFtdcChangeAccountField empty_data = CThostFtdcChangeAccountField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } this->task_queue.push(task); };