#include "logging.h" #include "gamelist.h" #define DEFAULT_TIMEOUT 180 /* ** TODO: replace list with sorted list, or even better with a hash */ GameList::GameList(Config& conf) : lastUpdate(0) { int interval = conf.getInteger("global", "game_timeout", DEFAULT_TIMEOUT); TimerService::registerTimer(new Timer(new CleanupEvent(*this), interval)); } GameList::~GameList() { while (!glist.isEmpty()) delete glist.get(); } void GameList::cleanup() { } long GameList::getLastUpdate() { lastUpdate++; return lastUpdate; } Iterator* GameList::createIterator() { return glist.createIterator(); } void GameList::addGame(int gameid, NetPkt* pkt, int port2) { char buf[64]; pkt->show(buf, sizeof(buf)); LogSystem::log(LOG_NOTICE, "Adding Game %d: %s %d", gameid, buf, port2); glist.add(new GameEntry()); }