hlswmaster-ng/gamelist.cpp

46 lines
826 B
C++

#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<GameEntry>* 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());
}