#pragma once #include "common/net/servertalk_server.h" #include "common/packet_dump.h" #include "common/servertalk.h" #include "loginserver/client.h" #include "loginserver/world_server.h" #include class WorldServerManager { public: WorldServerManager(); ~WorldServerManager(); void SendUserLoginToWorldRequest( unsigned int server_id, unsigned int client_account_id, const std::string &client_loginserver ); std::unique_ptr CreateServerListPacket(Client *client, uint32 sequence); bool DoesServerExist(const std::string &s, const std::string &server_short_name, WorldServer *ignore = nullptr); void DestroyServerByName(std::string s, std::string server_short_name, WorldServer *ignore = nullptr); const std::list> &GetWorldServers() const; private: std::unique_ptr m_server_connection; std::list> m_world_servers; };