eqemu-server/world/login_server_list.h

39 lines
766 B
C++

#ifndef LOGINSERVERLIST_H_
#define LOGINSERVERLIST_H_
#include "../common/servertalk.h"
#include "../common/timer.h"
#include "../common/queue.h"
#include "../common/eq_packet_structs.h"
#include "../common/mutex.h"
#include <list>
class LoginServer;
class LoginServerList{
public:
LoginServerList();
~LoginServerList();
void Add(const char*, uint16, const char*, const char*, bool);
bool SendStatus();
bool SendPacket(ServerPacket *pack);
bool SendAccountUpdate(ServerPacket *pack);
bool Connected();
size_t GetServerCount() const { return m_list.size(); }
static LoginServerList* Instance()
{
static LoginServerList instance;
return &instance;
}
protected:
std::list<std::unique_ptr<LoginServer>> m_list;
};
#endif /*LOGINSERVERLIST_H_*/