本文整理汇总了C++中IsErrorRspInfo函数的典型用法代码示例。如果您正苦于以下问题:C++ IsErrorRspInfo函数的具体用法?C++ IsErrorRspInfo怎么用?C++ IsErrorRspInfo使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了IsErrorRspInfo函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OnRspQryTrade
void CTraderApi::OnRspQryTrade(CThostFtdcTradeField *pTrade, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
{
if (!IsErrorRspInfo(pRspInfo, nRequestID, bIsLast))
{
OnTrade(pTrade);
}
}
示例2: OnRspUserLogin
void CTraderApi::OnRspUserLogin(CThostFtdcRspUserLoginField *pRspUserLogin, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
{
RspUserLoginField* pField = (RspUserLoginField*)m_msgQueue->new_block(sizeof(RspUserLoginField));
if (!IsErrorRspInfo(pRspInfo)
&&pRspUserLogin)
{
pField->TradingDay = GetDate(pRspUserLogin->tradeDate);
pField->LoginTime = GetTime(pRspUserLogin->lastLoginTime);
//sprintf(pField->SessionID, "%d:%d", pRspUserLogin->FrontID, pRspUserLogin->SessionID);
m_msgQueue->Input_NoCopy(ResponeType::OnConnectionStatus, m_msgQueue, m_pClass, ConnectionStatus::Logined, 0, pField, sizeof(RspUserLoginField), nullptr, 0, nullptr, 0);
m_msgQueue->Input_NoCopy(ResponeType::OnConnectionStatus, m_msgQueue, m_pClass, ConnectionStatus::Done, 0, nullptr, 0, nullptr, 0, nullptr, 0);
// 记下登录信息,可能会用到
memcpy(&m_RspUserLogin,pRspUserLogin,sizeof(CThostFtdcRspUserLoginField));
m_nMaxOrderRef = atol(pRspUserLogin->localOrderNo);
// 自己发单时ID从1开始,不能从0开始
m_nMaxOrderRef = m_nMaxOrderRef>1 ? m_nMaxOrderRef:1;
}
else
{
pField->ErrorID = pRspInfo->ErrorID;
strncpy(pField->ErrorMsg, pRspInfo->ErrorMsg, sizeof(ErrorMsgType));
m_msgQueue->Input_NoCopy(ResponeType::OnConnectionStatus, m_msgQueue, m_pClass, ConnectionStatus::Disconnected, 0, pField, sizeof(RspUserLoginField), nullptr, 0, nullptr, 0);
}
}
示例3: OnRspQryInstrument
void CTraderApi::OnRspQryInstrument(CThostFtdcInstrumentField *pInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
{
if (!IsErrorRspInfo(pRspInfo, nRequestID, bIsLast))
{
if (pInstrument)
{
InstrumentField* pField = (InstrumentField*)m_msgQueue->new_block(sizeof(InstrumentField));
strcpy(pField->InstrumentID, pInstrument->instID);
strcpy(pField->ExchangeID, pInstrument->exchangeID);
strcpy(pField->Symbol, pInstrument->instID);
strcpy(pField->InstrumentName, pInstrument->name);
pField->Type = CThostFtdcInstrumentField_2_InstrumentType(pInstrument);
//pField->VolumeMultiple = pInstrument->VolumeMultiple;
pField->PriceTick = pInstrument->tick;
//strncpy(pField->ExpireDate, pInstrument->ExpireDate, sizeof(TThostFtdcDateType));
//pField->OptionsType = TThostFtdcOptionsTypeType_2_PutCall(pInstrument->OptionsType);
m_msgQueue->Input_NoCopy(ResponeType::OnRspQryInstrument, m_msgQueue, m_pClass, bIsLast, 0, pField, sizeof(InstrumentField), nullptr, 0, nullptr, 0);
}
else
{
m_msgQueue->Input_NoCopy(ResponeType::OnRspQryInstrument, m_msgQueue, m_pClass, bIsLast, 0, nullptr, 0, nullptr, 0, nullptr, 0);
}
}
}
示例4: OnRspQryOrder
void CTraderApi::OnRspQryOrder(CThostFtdcOrderField *pOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
{
if (!IsErrorRspInfo(pRspInfo, nRequestID, bIsLast))
{
OnOrder(pOrder);
}
}
示例5: sprintf
void CTraderApi::OnErrRtnOrderAction(CSecurityFtdcOrderActionField *pOrderAction, CSecurityFtdcRspInfoField *pRspInfo)
{
OrderIDType orderId = { 0 };
if (pOrderAction)
{
sprintf(orderId, "%d:%d:%s", pOrderAction->FrontID, pOrderAction->SessionID, pOrderAction->OrderRef);
}
else
{
IsErrorRspInfo("OnErrRtnOrderAction", pRspInfo, 0, true);
}
unordered_map<string, OrderField*>::iterator it = m_id_platform_order.find(orderId);
if (it == m_id_platform_order.end())
{
// 没找到?不应当,这表示出错了
//assert(false);
}
else
{
// 找到了,要更新状态
// 得使用上次的状态
OrderField* pField = it->second;
pField->ExecType = ExecType::ExecType_CancelReject;
pField->RawErrorID = pRspInfo->ErrorID;
strncpy(pField->Text, pRspInfo->ErrorMsg, sizeof(Char256Type));
m_msgQueue->Input_Copy(ResponeType::ResponeType_OnRtnOrder, m_msgQueue, m_pClass, 0, 0, pField, sizeof(OrderField), nullptr, 0, nullptr, 0);
}
}
示例6: OnRspUserLogin
void CTraderApi::OnRspUserLogin(CThostFtdcRspUserLoginField *pRspUserLogin, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
{
RspUserLoginField field = { 0 };
if (!IsErrorRspInfo(pRspInfo)
&&pRspUserLogin)
{
strncpy(field.TradingDay, pRspUserLogin->tradeDate, sizeof(DateType));
strncpy(field.LoginTime, pRspUserLogin->lastLoginTime, sizeof(TimeType));
//sprintf(field.SessionID, "%d:%d", pRspUserLogin->FrontID, pRspUserLogin->SessionID);
XRespone(ResponeType::OnConnectionStatus, m_msgQueue, this, ConnectionStatus::Logined, 0, &field, sizeof(RspUserLoginField), nullptr, 0, nullptr, 0);
XRespone(ResponeType::OnConnectionStatus, m_msgQueue, this, ConnectionStatus::Done, 0, nullptr, 0, nullptr, 0, nullptr, 0);
// 记下登录信息,可能会用到
memcpy(&m_RspUserLogin,pRspUserLogin,sizeof(CThostFtdcRspUserLoginField));
m_nMaxOrderRef = atol(pRspUserLogin->localOrderNo);
// 自己发单时ID从1开始,不能从0开始
m_nMaxOrderRef = m_nMaxOrderRef>1 ? m_nMaxOrderRef:1;
}
else
{
field.ErrorID = pRspInfo->ErrorID;
strncpy(field.ErrorMsg, pRspInfo->ErrorMsg, sizeof(pRspInfo->ErrorMsg));
XRespone(ResponeType::OnConnectionStatus, m_msgQueue, this, ConnectionStatus::Disconnected, 0, &field, sizeof(RspUserLoginField), nullptr, 0, nullptr, 0);
}
if (bIsLast)
ReleaseRequestMapBuf(nRequestID);
}
示例7: IsErrorRspInfo
void CTraderApi::OnRspError(CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
{
IsErrorRspInfo(pRspInfo, nRequestID, bIsLast);
if (bIsLast)
ReleaseRequestMapBuf(nRequestID);
}
示例8: OnRspQryInstrument
void CTraderApi::OnRspQryInstrument(CThostFtdcInstrumentField *pInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
{
if (!IsErrorRspInfo(pRspInfo, nRequestID, bIsLast))
{
if (pInstrument)
{
InstrumentField field = { 0 };
strcpy(field.InstrumentID, pInstrument->instID);
strcpy(field.ExchangeID, pInstrument->exchangeID);
strcpy(field.Symbol, pInstrument->instID);
strcpy(field.InstrumentName, pInstrument->name);
field.Type = CThostFtdcInstrumentField_2_InstrumentType(pInstrument);
//field.VolumeMultiple = pInstrument->VolumeMultiple;
field.PriceTick = pInstrument->tick;
//strncpy(field.ExpireDate, pInstrument->ExpireDate, sizeof(TThostFtdcDateType));
//field.OptionsType = TThostFtdcOptionsTypeType_2_PutCall(pInstrument->OptionsType);
XRespone(ResponeType::OnRspQryInstrument, m_msgQueue, this, bIsLast, 0, &field, sizeof(InstrumentField), nullptr, 0, nullptr, 0);
}
else
{
XRespone(ResponeType::OnRspQryInstrument, m_msgQueue, this, bIsLast, 0, nullptr, 0, nullptr, 0, nullptr, 0);
}
}
if (bIsLast)
ReleaseRequestMapBuf(nRequestID);
}
示例9: OnRspQryParkedOrderAction
///请求删除预埋撤单响应
void CtpTraderSpi::OnRspQryParkedOrderAction(CThostFtdcParkedOrderActionField *pParkedOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
{
if( !IsErrorRspInfo(pRspInfo) && pParkedOrderAction)
{
}
if(bIsLast) SetEvent(g_hEvent);
}
示例10: OnRspRemoveParkedOrder
///删除预埋单响应
void CtpTraderSpi::OnRspRemoveParkedOrder(CThostFtdcRemoveParkedOrderField *pRemoveParkedOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
{
if( !IsErrorRspInfo(pRspInfo) && pRemoveParkedOrder)
{
}
if(bIsLast) SetEvent(g_hEvent);
}
示例11: OnRspQryBrokerTradingAlgos
void CtpTraderSpi::OnRspQryBrokerTradingAlgos(CThostFtdcBrokerTradingAlgosField *pBrokerTradingAlgos, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
{
if( !IsErrorRspInfo(pRspInfo) && pBrokerTradingAlgos)
{
}
if(bIsLast) SetEvent(g_hEvent);
}
示例12: OnRspFromBankToFutureByFuture
///期货发起银行资金转期货应答
void CtpTraderSpi::OnRspFromBankToFutureByFuture(CThostFtdcReqTransferField *pReqTransfer, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
{
if( IsErrorRspInfo(pRspInfo) || (pReqTransfer==NULL))
{
ShowCbErrs(pRspInfo->ErrorMsg);
}
if(bIsLast) SetEvent(g_hEvent);
}
示例13: OnRspQryTradingNotice
void CtpTraderSpi::OnRspQryTradingNotice(CThostFtdcTradingNoticeField *pTradingNotice, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
{
if (!IsErrorRspInfo(pRspInfo) && pTradingNotice)
{
}
if(bIsLast) SetEvent(g_hEvent);
}
示例14: OnRspUserLogout
///登出请求响应
void CtpMdSpi::OnRspUserLogout(CThostFtdcUserLogoutField *pUserLogout, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
{
if( !IsErrorRspInfo(pRspInfo) && pUserLogout)
{
}
if(bIsLast) SetEvent(g_hEvent);
}
示例15: OnRspQryExchangeMarginRateAdjust
///请求查询交易所调整保证金率响应
void CtpTraderSpi::OnRspQryExchangeMarginRateAdjust(CThostFtdcExchangeMarginRateAdjustField *pExchangeMarginRateAdjust, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
{
if( !IsErrorRspInfo(pRspInfo) && pExchangeMarginRateAdjust )
{
}
if(bIsLast) SetEvent(g_hEvent);
}