本文整理汇总了C++中O2G2Ptr::createRefreshTableRequest方法的典型用法代码示例。如果您正苦于以下问题:C++ O2G2Ptr::createRefreshTableRequest方法的具体用法?C++ O2G2Ptr::createRefreshTableRequest怎么用?C++ O2G2Ptr::createRefreshTableRequest使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类O2G2Ptr
的用法示例。
在下文中一共展示了O2G2Ptr::createRefreshTableRequest方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main(int argc, char *argv[])
{
std::string procName = "GetOffers";
if (argc == 1)
{
printHelp(procName);
return -1;
}
bool bWasError = false;
LoginParams *loginParams = new LoginParams(argc, argv);
SampleParams *sampleParams = new SampleParams(argc, argv);
printSampleParams(procName, loginParams, sampleParams);
if (!checkObligatoryParams(loginParams, sampleParams))
{
delete loginParams;
delete sampleParams;
return -1;
}
IO2GSession *session = CO2GTransport::createSession();
SessionStatusListener *sessionListener = new SessionStatusListener(session, true,
loginParams->getSessionID(),
loginParams->getPin());
session->subscribeSessionStatus(sessionListener);
bool bConnected = login(session, sessionListener, loginParams);
if (bConnected)
{
ResponseListener *responseListener = new ResponseListener(session);
responseListener->setInstrument(sampleParams->getInstrument());
session->subscribeResponse(responseListener);
O2G2Ptr<IO2GLoginRules> loginRules = session->getLoginRules();
if (loginRules)
{
O2G2Ptr<IO2GResponse> response = NULL;
if (loginRules->isTableLoadedByDefault(Offers))
{
response = loginRules->getTableRefreshResponse(Offers);
if (response)
responseListener->printOffers(session, response, "");
}
else
{
O2G2Ptr<IO2GRequestFactory> requestFactory = session->getRequestFactory();
if (requestFactory)
{
O2G2Ptr<IO2GRequest> offersRequest = requestFactory->createRefreshTableRequest(Offers);
responseListener->setRequestID(offersRequest->getRequestID());
session->sendRequest(offersRequest);
if (responseListener->waitEvents())
{
response = responseListener->getResponse();
if (response)
responseListener->printOffers(session, response, "");
}
else
{
std::cout << "Response waiting timeout expired" << std::endl;
bWasError = true;
}
}
}
// Do nothing 10 seconds, let offers print
Sleep(10000);
std::cout << "Done!" << std::endl;
}
else
{
std::cout << "Cannot get login rules" << std::endl;
bWasError = true;
}
session->unsubscribeResponse(responseListener);
responseListener->release();
logout(session, sessionListener);
}
else
{
bWasError = true;
}
session->unsubscribeSessionStatus(sessionListener);
sessionListener->release();
session->release();
delete loginParams;
delete sampleParams;
if (bWasError)
return -1;
return 0;
}