void TableListener::printOffer(IO2GOfferTableRow *offerRow, const char *sInstrument) { Offer *offer = mOffers->findOffer(offerRow->getOfferID()); if (offer) { if (offerRow->isTimeValid() && offerRow->isBidValid() && offerRow->isAskValid()) { offer->setDate(offerRow->getTime()); offer->setBid(offerRow->getBid()); offer->setAsk(offerRow->getAsk()); } } else { offer = new Offer(offerRow->getOfferID(), offerRow->getInstrument(), offerRow->getDigits(), offerRow->getPointSize(), offerRow->getTime(), offerRow->getBid(), offerRow->getAsk()); mOffers->addOffer(offer); } if (!sInstrument || strlen(sInstrument) == 0 || strcmp(offerRow->getInstrument(), sInstrument) == 0) { std::cout << offer->getID() << ", " << offer->getInstrument() << ", " << "Bid=" << std::fixed << offer->getBid() << ", " << "Ask=" << std::fixed << offer->getAsk() << std::endl; } }