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;
	}
}