Use new syntax for server xml

This commit is contained in:
Benau
2018-09-04 07:37:21 +08:00
parent a9ecebfbc8
commit 83d49389d6
3 changed files with 9 additions and 6 deletions

View File

@@ -29,9 +29,9 @@
* \param xml The data for one server as received as part of the
* get-all stk-server request.
*/
Server::Server(const XMLNode& xml) : m_supports_encrytion(true)
Server::Server(const XMLNode& server_info) : m_supports_encrytion(true)
{
assert(xml.getName() == "server");
const XMLNode& xml = *server_info.getNode("server-info");
m_name = "";
m_server_id = 0;

View File

@@ -89,7 +89,7 @@ protected:
public:
/** Initialises the object from an XML node. */
Server(const XMLNode &xml);
Server(const XMLNode& server_info);
Server(unsigned server_id, const irr::core::stringw &name,
int max_players, int current_players, unsigned difficulty,
unsigned server_mode, const TransportAddress &address,

View File

@@ -281,8 +281,12 @@ void ServersManager::setWanServers(bool success, const XMLNode* input)
const XMLNode *servers_xml = input->getNode("servers");
for (unsigned int i = 0; i < servers_xml->getNumNodes(); i++)
{
const XMLNode* s = servers_xml->getNode(i);
assert(s);
const XMLNode* si = s->getNode("server-info");
assert(si);
int version = 0;
servers_xml->getNode(i)->get("version", &version);
si->get("version", &version);
assert(version != 0);
if (version < stk_config->m_max_server_version ||
version > stk_config->m_max_server_version)
@@ -290,8 +294,7 @@ void ServersManager::setWanServers(bool success, const XMLNode* input)
Log::verbose("ServersManager", "Skipping a server");
continue;
}
m_servers.emplace_back(
std::make_shared<Server>(*servers_xml->getNode(i)));
m_servers.emplace_back(std::make_shared<Server>(*s));
}
m_last_load_time.store(StkTime::getRealTimeMs());
m_list_updated = true;