//APIQA void AppClient::processSymbolListRequest( const ReqMsg& reqMsg, const OmmProviderEvent& event ) { Map m; for (int i = 0; i < symbolListSize; ++i) { if (i % 25 == 0) std::cout << std::endl << i << ' '; else std::cout << '.'; std::ostringstream oss; oss << "A" << i; try { m.addKeyAscii( EmaString(oss.str().c_str(), oss.str().length()), MapEntry::AddEnum, FieldList().complete() ); } catch (const OmmInvalidUsageException& e) { std::cout << "caught OmmInvalidUsageException [" << e.getText() << ']' << std::endl; } catch (const OmmException& e) { std::cout << "caught OmmException [" << e.getExceptionTypeAsString() << '|' << e.getText() << ']' << std::endl; } } m.complete(); event.getProvider() .submit( RefreshMsg().name( reqMsg.getName() ).serviceName( reqMsg.getServiceName() ) .domainType( reqMsg.getDomainType() ) .solicited( true ).state( OmmState::OpenEnum, OmmState::OkEnum, OmmState::NoneEnum, "Refresh Completed" ). payload( m.complete() ).complete(), event.getHandle() ); /* payload( Map(). addKeyAscii( "A", MapEntry::AddEnum ). addKeyAscii( "B", MapEntry::AddEnum ). complete() ), event.getHandle() ); */ std::cout << "processSymbolListRequest" << std::endl; }
void AppClient::processInvalidItemRequest( const ReqMsg& reqMsg, const OmmProviderEvent& event ) { event.getProvider().submit( StatusMsg().name( reqMsg.getName() ).serviceName( reqMsg.getServiceName() ). domainType( reqMsg.getDomainType() ). state( OmmState::ClosedEnum, OmmState::SuspectEnum, OmmState::NotFoundEnum, "Item not found" ), event.getHandle() ); }
void AppClient::onReissue(const ReqMsg& reqMsg, const OmmProviderEvent& event) { switch (reqMsg.getDomainType()) { case MMT_DICTIONARY: processDictionaryRequest(reqMsg, event); break; default: processInvalidItemRequest(reqMsg, event); break; } }
void AppClient::onReqMsg( const ReqMsg& reqMsg, const OmmProviderEvent& event ) { switch ( reqMsg.getDomainType() ) { case MMT_LOGIN: processLoginRequest( reqMsg, event ); break; case MMT_MARKET_PRICE: processMarketPriceRequest( reqMsg, event ); break; default: processInvalidItemRequest( reqMsg, event ); break; } }