975 lines
23 KiB
C++
975 lines
23 KiB
C++
void QryApi::OnFrontConnected()
|
|
{
|
|
Task task = Task();
|
|
task.task_name = ONFRONTCONNECTED;
|
|
this->task_queue.push(task);
|
|
};
|
|
|
|
void QryApi::OnFrontDisconnected(int nReason)
|
|
{
|
|
Task task = Task();
|
|
task.task_name = ONFRONTDISCONNECTED;
|
|
task.task_id = nReason;
|
|
this->task_queue.push(task);
|
|
};
|
|
|
|
void QryApi::OnHeartBeatWarning(int nTimeLapse)
|
|
{
|
|
Task task = Task();
|
|
task.task_name = ONHEARTBEATWARNING;
|
|
task.task_id = nTimeLapse{};
|
|
;
|
|
this->task_queue.push(task);
|
|
};
|
|
|
|
void QryApi::OnRspError(CSecurityFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
|
|
{
|
|
Task task = Task();
|
|
task.task_name = ONRSPERROR;
|
|
|
|
if (pRspInfo)
|
|
{
|
|
task.task_error = *pRspInfo;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcRspInfoField empty_error = CSecurityFtdcRspInfoField();
|
|
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 QryApi::OnRspUserLogin(CSecurityFtdcRspUserLoginField *pRspUserLogin, CSecurityFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
|
|
{
|
|
Task task = Task();
|
|
task.task_name = ONRSPUSERLOGIN;
|
|
|
|
if (pRspUserLogin)
|
|
{
|
|
task.task_data = *pRspUserLogin;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcRspUserLoginField empty_data = CSecurityFtdcRspUserLoginField();
|
|
memset(&empty_data, 0, sizeof(empty_data));
|
|
task.task_data = empty_data;
|
|
}
|
|
|
|
if (pRspInfo)
|
|
{
|
|
task.task_error = *pRspInfo;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcRspInfoField empty_error = CSecurityFtdcRspInfoField();
|
|
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 QryApi::OnRspUserLogout(CSecurityFtdcUserLogoutField *pUserLogout, CSecurityFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
|
|
{
|
|
Task task = Task();
|
|
task.task_name = ONRSPUSERLOGOUT;
|
|
|
|
if (pUserLogout)
|
|
{
|
|
task.task_data = *pUserLogout;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcUserLogoutField empty_data = CSecurityFtdcUserLogoutField();
|
|
memset(&empty_data, 0, sizeof(empty_data));
|
|
task.task_data = empty_data;
|
|
}
|
|
|
|
if (pRspInfo)
|
|
{
|
|
task.task_error = *pRspInfo;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcRspInfoField empty_error = CSecurityFtdcRspInfoField();
|
|
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 QryApi::OnRspFetchAuthRandCode(CSecurityFtdcAuthRandCodeField *pAuthRandCode, CSecurityFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
|
|
{
|
|
Task task = Task();
|
|
task.task_name = ONRSPFETCHAUTHRANDCODE;
|
|
|
|
if (pAuthRandCode)
|
|
{
|
|
task.task_data = *pAuthRandCode;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcAuthRandCodeField empty_data = CSecurityFtdcAuthRandCodeField();
|
|
memset(&empty_data, 0, sizeof(empty_data));
|
|
task.task_data = empty_data;
|
|
}
|
|
|
|
if (pRspInfo)
|
|
{
|
|
task.task_error = *pRspInfo;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcRspInfoField empty_error = CSecurityFtdcRspInfoField();
|
|
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 QryApi::OnRspQryExchange(CSecurityFtdcExchangeField *pExchange, CSecurityFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
|
|
{
|
|
Task task = Task();
|
|
task.task_name = ONRSPQRYEXCHANGE;
|
|
|
|
if (pExchange)
|
|
{
|
|
task.task_data = *pExchange;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcExchangeField empty_data = CSecurityFtdcExchangeField();
|
|
memset(&empty_data, 0, sizeof(empty_data));
|
|
task.task_data = empty_data;
|
|
}
|
|
|
|
if (pRspInfo)
|
|
{
|
|
task.task_error = *pRspInfo;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcRspInfoField empty_error = CSecurityFtdcRspInfoField();
|
|
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 QryApi::OnRspQryInstrument(CSecurityFtdcInstrumentField *pInstrument, CSecurityFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
|
|
{
|
|
Task task = Task();
|
|
task.task_name = ONRSPQRYINSTRUMENT;
|
|
|
|
if (pInstrument)
|
|
{
|
|
task.task_data = *pInstrument;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcInstrumentField empty_data = CSecurityFtdcInstrumentField();
|
|
memset(&empty_data, 0, sizeof(empty_data));
|
|
task.task_data = empty_data;
|
|
}
|
|
|
|
if (pRspInfo)
|
|
{
|
|
task.task_error = *pRspInfo;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcRspInfoField empty_error = CSecurityFtdcRspInfoField();
|
|
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 QryApi::OnRspQryInvestor(CSecurityFtdcInvestorField *pInvestor, CSecurityFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
|
|
{
|
|
Task task = Task();
|
|
task.task_name = ONRSPQRYINVESTOR;
|
|
|
|
if (pInvestor)
|
|
{
|
|
task.task_data = *pInvestor;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcInvestorField empty_data = CSecurityFtdcInvestorField();
|
|
memset(&empty_data, 0, sizeof(empty_data));
|
|
task.task_data = empty_data;
|
|
}
|
|
|
|
if (pRspInfo)
|
|
{
|
|
task.task_error = *pRspInfo;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcRspInfoField empty_error = CSecurityFtdcRspInfoField();
|
|
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 QryApi::OnRspQryTradingCode(CSecurityFtdcTradingCodeField *pTradingCode, CSecurityFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
|
|
{
|
|
Task task = Task();
|
|
task.task_name = ONRSPQRYTRADINGCODE;
|
|
|
|
if (pTradingCode)
|
|
{
|
|
task.task_data = *pTradingCode;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcTradingCodeField empty_data = CSecurityFtdcTradingCodeField();
|
|
memset(&empty_data, 0, sizeof(empty_data));
|
|
task.task_data = empty_data;
|
|
}
|
|
|
|
if (pRspInfo)
|
|
{
|
|
task.task_error = *pRspInfo;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcRspInfoField empty_error = CSecurityFtdcRspInfoField();
|
|
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 QryApi::OnRspQryTradingAccount(CSecurityFtdcTradingAccountField *pTradingAccount, CSecurityFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
|
|
{
|
|
Task task = Task();
|
|
task.task_name = ONRSPQRYTRADINGACCOUNT;
|
|
|
|
if (pTradingAccount)
|
|
{
|
|
task.task_data = *pTradingAccount;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcTradingAccountField empty_data = CSecurityFtdcTradingAccountField();
|
|
memset(&empty_data, 0, sizeof(empty_data));
|
|
task.task_data = empty_data;
|
|
}
|
|
|
|
if (pRspInfo)
|
|
{
|
|
task.task_error = *pRspInfo;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcRspInfoField empty_error = CSecurityFtdcRspInfoField();
|
|
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 QryApi::OnRspQryBondInterest(CSecurityFtdcBondInterestField *pBondInterest, CSecurityFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
|
|
{
|
|
Task task = Task();
|
|
task.task_name = ONRSPQRYBONDINTEREST;
|
|
|
|
if (pBondInterest)
|
|
{
|
|
task.task_data = *pBondInterest;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcBondInterestField empty_data = CSecurityFtdcBondInterestField();
|
|
memset(&empty_data, 0, sizeof(empty_data));
|
|
task.task_data = empty_data;
|
|
}
|
|
|
|
if (pRspInfo)
|
|
{
|
|
task.task_error = *pRspInfo;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcRspInfoField empty_error = CSecurityFtdcRspInfoField();
|
|
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 QryApi::OnRspQryMarketRationInfo(CSecurityFtdcMarketRationInfoField *pMarketRationInfo, CSecurityFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
|
|
{
|
|
Task task = Task();
|
|
task.task_name = ONRSPQRYMARKETRATIONINFO;
|
|
|
|
if (pMarketRationInfo)
|
|
{
|
|
task.task_data = *pMarketRationInfo;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcMarketRationInfoField empty_data = CSecurityFtdcMarketRationInfoField();
|
|
memset(&empty_data, 0, sizeof(empty_data));
|
|
task.task_data = empty_data;
|
|
}
|
|
|
|
if (pRspInfo)
|
|
{
|
|
task.task_error = *pRspInfo;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcRspInfoField empty_error = CSecurityFtdcRspInfoField();
|
|
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 QryApi::OnRspQryInstrumentCommissionRate(CSecurityFtdcInstrumentCommissionRateField *pInstrumentCommissionRate, CSecurityFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
|
|
{
|
|
Task task = Task();
|
|
task.task_name = ONRSPQRYINSTRUMENTCOMMISSIONRATE;
|
|
|
|
if (pInstrumentCommissionRate)
|
|
{
|
|
task.task_data = *pInstrumentCommissionRate;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcInstrumentCommissionRateField empty_data = CSecurityFtdcInstrumentCommissionRateField();
|
|
memset(&empty_data, 0, sizeof(empty_data));
|
|
task.task_data = empty_data;
|
|
}
|
|
|
|
if (pRspInfo)
|
|
{
|
|
task.task_error = *pRspInfo;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcRspInfoField empty_error = CSecurityFtdcRspInfoField();
|
|
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 QryApi::OnRspQryETFInstrument(CSecurityFtdcETFInstrumentField *pETFInstrument, CSecurityFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
|
|
{
|
|
Task task = Task();
|
|
task.task_name = ONRSPQRYETFINSTRUMENT;
|
|
|
|
if (pETFInstrument)
|
|
{
|
|
task.task_data = *pETFInstrument;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcETFInstrumentField empty_data = CSecurityFtdcETFInstrumentField();
|
|
memset(&empty_data, 0, sizeof(empty_data));
|
|
task.task_data = empty_data;
|
|
}
|
|
|
|
if (pRspInfo)
|
|
{
|
|
task.task_error = *pRspInfo;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcRspInfoField empty_error = CSecurityFtdcRspInfoField();
|
|
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 QryApi::OnRspQryETFBasket(CSecurityFtdcETFBasketField *pETFBasket, CSecurityFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
|
|
{
|
|
Task task = Task();
|
|
task.task_name = ONRSPQRYETFBASKET;
|
|
|
|
if (pETFBasket)
|
|
{
|
|
task.task_data = *pETFBasket;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcETFBasketField empty_data = CSecurityFtdcETFBasketField();
|
|
memset(&empty_data, 0, sizeof(empty_data));
|
|
task.task_data = empty_data;
|
|
}
|
|
|
|
if (pRspInfo)
|
|
{
|
|
task.task_error = *pRspInfo;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcRspInfoField empty_error = CSecurityFtdcRspInfoField();
|
|
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 QryApi::OnRspQryOFInstrument(CSecurityFtdcOFInstrumentField *pOFInstrument, CSecurityFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
|
|
{
|
|
Task task = Task();
|
|
task.task_name = ONRSPQRYOFINSTRUMENT;
|
|
|
|
if (pOFInstrument)
|
|
{
|
|
task.task_data = *pOFInstrument;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcOFInstrumentField empty_data = CSecurityFtdcOFInstrumentField();
|
|
memset(&empty_data, 0, sizeof(empty_data));
|
|
task.task_data = empty_data;
|
|
}
|
|
|
|
if (pRspInfo)
|
|
{
|
|
task.task_error = *pRspInfo;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcRspInfoField empty_error = CSecurityFtdcRspInfoField();
|
|
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 QryApi::OnRspQrySFInstrument(CSecurityFtdcSFInstrumentField *pSFInstrument, CSecurityFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
|
|
{
|
|
Task task = Task();
|
|
task.task_name = ONRSPQRYSFINSTRUMENT;
|
|
|
|
if (pSFInstrument)
|
|
{
|
|
task.task_data = *pSFInstrument;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcSFInstrumentField empty_data = CSecurityFtdcSFInstrumentField();
|
|
memset(&empty_data, 0, sizeof(empty_data));
|
|
task.task_data = empty_data;
|
|
}
|
|
|
|
if (pRspInfo)
|
|
{
|
|
task.task_error = *pRspInfo;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcRspInfoField empty_error = CSecurityFtdcRspInfoField();
|
|
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 QryApi::OnRspQryInstrumentUnitMargin(CSecurityFtdcInstrumentUnitMarginField *pInstrumentUnitMargin, CSecurityFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
|
|
{
|
|
Task task = Task();
|
|
task.task_name = ONRSPQRYINSTRUMENTUNITMARGIN;
|
|
|
|
if (pInstrumentUnitMargin)
|
|
{
|
|
task.task_data = *pInstrumentUnitMargin;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcInstrumentUnitMarginField empty_data = CSecurityFtdcInstrumentUnitMarginField();
|
|
memset(&empty_data, 0, sizeof(empty_data));
|
|
task.task_data = empty_data;
|
|
}
|
|
|
|
if (pRspInfo)
|
|
{
|
|
task.task_error = *pRspInfo;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcRspInfoField empty_error = CSecurityFtdcRspInfoField();
|
|
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 QryApi::OnRspQryPreDelivInfo(CSecurityFtdcPreDelivInfoField *pPreDelivInfo, CSecurityFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
|
|
{
|
|
Task task = Task();
|
|
task.task_name = ONRSPQRYPREDELIVINFO;
|
|
|
|
if (pPreDelivInfo)
|
|
{
|
|
task.task_data = *pPreDelivInfo;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcPreDelivInfoField empty_data = CSecurityFtdcPreDelivInfoField();
|
|
memset(&empty_data, 0, sizeof(empty_data));
|
|
task.task_data = empty_data;
|
|
}
|
|
|
|
if (pRspInfo)
|
|
{
|
|
task.task_error = *pRspInfo;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcRspInfoField empty_error = CSecurityFtdcRspInfoField();
|
|
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 QryApi::OnRspQryCreditStockAssignInfo(CSecurityFtdcCreditStockAssignInfoField *pCreditStockAssignInfo, CSecurityFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
|
|
{
|
|
Task task = Task();
|
|
task.task_name = ONRSPQRYCREDITSTOCKASSIGNINFO;
|
|
|
|
if (pCreditStockAssignInfo)
|
|
{
|
|
task.task_data = *pCreditStockAssignInfo;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcCreditStockAssignInfoField empty_data = CSecurityFtdcCreditStockAssignInfoField();
|
|
memset(&empty_data, 0, sizeof(empty_data));
|
|
task.task_data = empty_data;
|
|
}
|
|
|
|
if (pRspInfo)
|
|
{
|
|
task.task_error = *pRspInfo;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcRspInfoField empty_error = CSecurityFtdcRspInfoField();
|
|
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 QryApi::OnRspQryCreditCashAssignInfo(CSecurityFtdcCreditCashAssignInfoField *pCreditCashAssignInfo, CSecurityFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
|
|
{
|
|
Task task = Task();
|
|
task.task_name = ONRSPQRYCREDITCASHASSIGNINFO;
|
|
|
|
if (pCreditCashAssignInfo)
|
|
{
|
|
task.task_data = *pCreditCashAssignInfo;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcCreditCashAssignInfoField empty_data = CSecurityFtdcCreditCashAssignInfoField();
|
|
memset(&empty_data, 0, sizeof(empty_data));
|
|
task.task_data = empty_data;
|
|
}
|
|
|
|
if (pRspInfo)
|
|
{
|
|
task.task_error = *pRspInfo;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcRspInfoField empty_error = CSecurityFtdcRspInfoField();
|
|
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 QryApi::OnRspQryConversionRate(CSecurityFtdcConversionRateField *pConversionRate, CSecurityFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
|
|
{
|
|
Task task = Task();
|
|
task.task_name = ONRSPQRYCONVERSIONRATE;
|
|
|
|
if (pConversionRate)
|
|
{
|
|
task.task_data = *pConversionRate;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcConversionRateField empty_data = CSecurityFtdcConversionRateField();
|
|
memset(&empty_data, 0, sizeof(empty_data));
|
|
task.task_data = empty_data;
|
|
}
|
|
|
|
if (pRspInfo)
|
|
{
|
|
task.task_error = *pRspInfo;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcRspInfoField empty_error = CSecurityFtdcRspInfoField();
|
|
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 QryApi::OnRspQryHisCreditDebtInfo(CSecurityFtdcHisCreditDebtInfoField *pHisCreditDebtInfo, CSecurityFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
|
|
{
|
|
Task task = Task();
|
|
task.task_name = ONRSPQRYHISCREDITDEBTINFO;
|
|
|
|
if (pHisCreditDebtInfo)
|
|
{
|
|
task.task_data = *pHisCreditDebtInfo;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcHisCreditDebtInfoField empty_data = CSecurityFtdcHisCreditDebtInfoField();
|
|
memset(&empty_data, 0, sizeof(empty_data));
|
|
task.task_data = empty_data;
|
|
}
|
|
|
|
if (pRspInfo)
|
|
{
|
|
task.task_error = *pRspInfo;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcRspInfoField empty_error = CSecurityFtdcRspInfoField();
|
|
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 QryApi::OnRspQryMarketDataStaticInfo(CSecurityFtdcMarketDataStaticInfoField *pMarketDataStaticInfo, CSecurityFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
|
|
{
|
|
Task task = Task();
|
|
task.task_name = ONRSPQRYMARKETDATASTATICINFO;
|
|
|
|
if (pMarketDataStaticInfo)
|
|
{
|
|
task.task_data = *pMarketDataStaticInfo;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcMarketDataStaticInfoField empty_data = CSecurityFtdcMarketDataStaticInfoField();
|
|
memset(&empty_data, 0, sizeof(empty_data));
|
|
task.task_data = empty_data;
|
|
}
|
|
|
|
if (pRspInfo)
|
|
{
|
|
task.task_error = *pRspInfo;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcRspInfoField empty_error = CSecurityFtdcRspInfoField();
|
|
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 QryApi::OnRspQryExpireRepurchInfo(CSecurityFtdcExpireRepurchInfoField *pExpireRepurchInfo, CSecurityFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
|
|
{
|
|
Task task = Task();
|
|
task.task_name = ONRSPQRYEXPIREREPURCHINFO;
|
|
|
|
if (pExpireRepurchInfo)
|
|
{
|
|
task.task_data = *pExpireRepurchInfo;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcExpireRepurchInfoField empty_data = CSecurityFtdcExpireRepurchInfoField();
|
|
memset(&empty_data, 0, sizeof(empty_data));
|
|
task.task_data = empty_data;
|
|
}
|
|
|
|
if (pRspInfo)
|
|
{
|
|
task.task_error = *pRspInfo;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcRspInfoField empty_error = CSecurityFtdcRspInfoField();
|
|
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 QryApi::OnRspQryBondPledgeRate(CSecurityFtdcBondPledgeRateField *pBondPledgeRate, CSecurityFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
|
|
{
|
|
Task task = Task();
|
|
task.task_name = ONRSPQRYBONDPLEDGERATE;
|
|
|
|
if (pBondPledgeRate)
|
|
{
|
|
task.task_data = *pBondPledgeRate;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcBondPledgeRateField empty_data = CSecurityFtdcBondPledgeRateField();
|
|
memset(&empty_data, 0, sizeof(empty_data));
|
|
task.task_data = empty_data;
|
|
}
|
|
|
|
if (pRspInfo)
|
|
{
|
|
task.task_error = *pRspInfo;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcRspInfoField empty_error = CSecurityFtdcRspInfoField();
|
|
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 QryApi::OnRspQryPledgeBond(CSecurityFtdcPledgeBondField *pPledgeBond, CSecurityFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
|
|
{
|
|
Task task = Task();
|
|
task.task_name = ONRSPQRYPLEDGEBOND;
|
|
|
|
if (pPledgeBond)
|
|
{
|
|
task.task_data = *pPledgeBond;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcPledgeBondField empty_data = CSecurityFtdcPledgeBondField();
|
|
memset(&empty_data, 0, sizeof(empty_data));
|
|
task.task_data = empty_data;
|
|
}
|
|
|
|
if (pRspInfo)
|
|
{
|
|
task.task_error = *pRspInfo;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcRspInfoField empty_error = CSecurityFtdcRspInfoField();
|
|
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 QryApi::OnRspQryOrder(CSecurityFtdcOrderField *pOrder, CSecurityFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
|
|
{
|
|
Task task = Task();
|
|
task.task_name = ONRSPQRYORDER;
|
|
|
|
if (pOrder)
|
|
{
|
|
task.task_data = *pOrder;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcOrderField empty_data = CSecurityFtdcOrderField();
|
|
memset(&empty_data, 0, sizeof(empty_data));
|
|
task.task_data = empty_data;
|
|
}
|
|
|
|
if (pRspInfo)
|
|
{
|
|
task.task_error = *pRspInfo;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcRspInfoField empty_error = CSecurityFtdcRspInfoField();
|
|
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 QryApi::OnRspQryTrade(CSecurityFtdcTradeField *pTrade, CSecurityFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
|
|
{
|
|
Task task = Task();
|
|
task.task_name = ONRSPQRYTRADE;
|
|
|
|
if (pTrade)
|
|
{
|
|
task.task_data = *pTrade;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcTradeField empty_data = CSecurityFtdcTradeField();
|
|
memset(&empty_data, 0, sizeof(empty_data));
|
|
task.task_data = empty_data;
|
|
}
|
|
|
|
if (pRspInfo)
|
|
{
|
|
task.task_error = *pRspInfo;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcRspInfoField empty_error = CSecurityFtdcRspInfoField();
|
|
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 QryApi::OnRspQryInvestorPosition(CSecurityFtdcInvestorPositionField *pInvestorPosition, CSecurityFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
|
|
{
|
|
Task task = Task();
|
|
task.task_name = ONRSPQRYINVESTORPOSITION;
|
|
|
|
if (pInvestorPosition)
|
|
{
|
|
task.task_data = *pInvestorPosition;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcInvestorPositionField empty_data = CSecurityFtdcInvestorPositionField();
|
|
memset(&empty_data, 0, sizeof(empty_data));
|
|
task.task_data = empty_data;
|
|
}
|
|
|
|
if (pRspInfo)
|
|
{
|
|
task.task_error = *pRspInfo;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcRspInfoField empty_error = CSecurityFtdcRspInfoField();
|
|
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 QryApi::OnRspQryFundTransferSerial(CSecurityFtdcFundTransferField *pFundTransfer, CSecurityFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
|
|
{
|
|
Task task = Task();
|
|
task.task_name = ONRSPQRYFUNDTRANSFERSERIAL;
|
|
|
|
if (pFundTransfer)
|
|
{
|
|
task.task_data = *pFundTransfer;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcFundTransferField empty_data = CSecurityFtdcFundTransferField();
|
|
memset(&empty_data, 0, sizeof(empty_data));
|
|
task.task_data = empty_data;
|
|
}
|
|
|
|
if (pRspInfo)
|
|
{
|
|
task.task_error = *pRspInfo;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcRspInfoField empty_error = CSecurityFtdcRspInfoField();
|
|
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 QryApi::OnRspQryFundInterTransferSerial(CSecurityFtdcFundInterTransferSerialField *pFundInterTransferSerial, CSecurityFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
|
|
{
|
|
Task task = Task();
|
|
task.task_name = ONRSPQRYFUNDINTERTRANSFERSERIAL;
|
|
|
|
if (pFundInterTransferSerial)
|
|
{
|
|
task.task_data = *pFundInterTransferSerial;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcFundInterTransferSerialField empty_data = CSecurityFtdcFundInterTransferSerialField();
|
|
memset(&empty_data, 0, sizeof(empty_data));
|
|
task.task_data = empty_data;
|
|
}
|
|
|
|
if (pRspInfo)
|
|
{
|
|
task.task_error = *pRspInfo;
|
|
}
|
|
else
|
|
{
|
|
CSecurityFtdcRspInfoField empty_error = CSecurityFtdcRspInfoField();
|
|
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);
|
|
};
|
|
|