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::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::OnNtyMktStatus(const CThostFtdcMarketStatusField *pfldMktStatus) { Task task = Task(); task.task_name = ONNTYMKTSTATUS; if (ThostFtdcMarketStatusField) { task.task_data = CThostFtdcMarketStatusField; } else { const empty_data = const(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } 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::OnRtnDepthMarketData(CThostFtdcDepthMarketDataField *pDepthMarketData) { Task task = Task(); task.task_name = ONRTNDEPTHMARKETDATA; if (pDepthMarketData) { task.task_data = *pDepthMarketData; } else { CThostFtdcDepthMarketDataField empty_data = CThostFtdcDepthMarketDataField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } 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::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::OnRtnOrder(CThostFtdcOrderRtnField *pOrder) { Task task = Task(); task.task_name = ONRTNORDER; if (pOrder) { task.task_data = *pOrder; } else { CThostFtdcOrderRtnField empty_data = CThostFtdcOrderRtnField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } this->task_queue.push(task); }; void TdApi::OnForceLogout(CThostFtdcUserLogoutField *pLogout) { Task task = Task(); task.task_name = ONFORCELOGOUT; if (pLogout) { task.task_data = *pLogout; } else { CThostFtdcUserLogoutField empty_data = CThostFtdcUserLogoutField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } 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::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::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::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::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::OnRspQryClientStorage(CThostFtdcStorageField *pStorage, CThostFtdcRspInfoField *pRspInfo,int nRequestID,bool bIsLast) { Task task = Task(); task.task_name = ONRSPQRYCLIENTSTORAGE; if (pStorage) { task.task_data = *pStorage; } else { CThostFtdcStorageField empty_data = CThostFtdcStorageField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo,int; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); memset(&empty_error, 0, sizeof(empty_error)); task.task_error = empty_error; } this->task_queue.push(task); }; void TdApi::OnRspSubMarketData(CThostFtdcSpecificInstrumentField *pSpecificInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPSUBMARKETDATA; if (pSpecificInstrument) { task.task_data = *pSpecificInstrument; } else { CThostFtdcSpecificInstrumentField empty_data = CThostFtdcSpecificInstrumentField(); 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); };