summaryrefslogtreecommitdiff
path: root/src/net/serverinfo.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/serverinfo.h')
-rw-r--r--src/net/serverinfo.h228
1 files changed, 0 insertions, 228 deletions
diff --git a/src/net/serverinfo.h b/src/net/serverinfo.h
deleted file mode 100644
index 2bdec0251..000000000
--- a/src/net/serverinfo.h
+++ /dev/null
@@ -1,228 +0,0 @@
-/*
- * The ManaPlus Client
- * Copyright (C) 2009 The Mana World Development Team
- * Copyright (C) 2009-2010 The Mana Developers
- * Copyright (C) 2011-2017 The ManaPlus Developers
- *
- * This file is part of The ManaPlus Client.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef NET_SERVERINFO_H
-#define NET_SERVERINFO_H
-
-#include "enums/net/serverfreetype.h"
-#include "enums/net/servertype.h"
-
-#include "net/hostsgroup.h"
-#include "net/serverurlinfo.h"
-
-#include "utils/stringutils.h"
-
-#include "localconsts.h"
-
-class ServerInfo final
-{
- public:
- typedef std::pair<int, std::string> VersionString;
-
- ServerTypeT type;
- ServerFreeTypeT freeType;
- std::string name;
- std::string hostname;
- std::string althostname;
- std::string description;
- std::string registerUrl;
- std::string onlineListUrl;
- std::string supportUrl;
- std::string serverUrl;
- std::string defaultHostName;
- STD_VECTOR<std::string> updateMirrors;
- STD_VECTOR<HostsGroup> updateHosts;
- STD_VECTOR<ServerUrlInfo> freeSources;
- STD_VECTOR<ServerUrlInfo> nonFreeSources;
- STD_VECTOR<ServerUrlInfo> docs;
- uint16_t port;
- VersionString version;
- int packetVersion;
- bool save;
- bool persistentIp;
-
- ServerInfo() :
- type(ServerType::TMWATHENA),
- freeType(ServerFreeType::NotSet),
- name(),
- hostname(),
- althostname(),
- description(),
- registerUrl(),
- onlineListUrl(),
- supportUrl(),
- serverUrl(),
- defaultHostName(),
- updateMirrors(),
- updateHosts(),
- freeSources(),
- nonFreeSources(),
- docs(),
-#ifdef TMWA_SUPPORT
- port(6901),
-#else // TMWA_SUPPORT
- port(6900),
-#endif // TMWA_SUPPORT
- version(),
- packetVersion(),
- save(false),
- persistentIp(true)
- {
- version.first = 0;
- }
-
- ServerInfo(const ServerInfo &info) :
- type(info.type),
- freeType(info.freeType),
- name(info.name),
- hostname(info.hostname),
- althostname(info.althostname),
- description(info.description),
- registerUrl(info.registerUrl),
- onlineListUrl(info.onlineListUrl),
- supportUrl(info.supportUrl),
- serverUrl(info.serverUrl),
- defaultHostName(info.defaultHostName),
- updateMirrors(info.updateMirrors),
- updateHosts(info.updateHosts),
- freeSources(info.freeSources),
- nonFreeSources(info.nonFreeSources),
- docs(info.docs),
- port(info.port),
- version(),
- packetVersion(info.packetVersion),
- save(info.save),
- persistentIp(info.persistentIp)
- {
- version.first = info.version.first;
- version.second = info.version.second;
- }
-
- A_DEFAULT_COPY(ServerInfo)
-
- ServerInfo &operator=(const ServerInfo &info)
- {
- type = info.type;
- freeType = info.freeType;
- name = info.name;
- hostname = info.hostname;
- althostname = info.althostname;
- description = info.description;
- registerUrl = info.registerUrl;
- onlineListUrl = info.onlineListUrl;
- supportUrl = info.supportUrl;
- serverUrl = info.serverUrl;
- defaultHostName = info.defaultHostName;
- updateMirrors = info.updateMirrors;
- updateHosts = info.updateHosts;
- freeSources = info.freeSources;
- nonFreeSources = info.nonFreeSources;
- docs = info.docs;
- port = info.port;
- save = info.save;
- persistentIp = info.persistentIp;
- version.first = info.version.first;
- version.second = info.version.second;
- packetVersion = info.packetVersion;
- return *this;
- }
-
- bool isValid() const noexcept2 A_WARN_UNUSED
- {
- return !(hostname.empty()
- || port == 0
- || type == ServerType::UNKNOWN);
- }
-
- void clear()
- {
- type = ServerType::UNKNOWN;
- name.clear();
- hostname.clear();
- althostname.clear();
- port = 0;
- description.clear();
- registerUrl.clear();
- onlineListUrl.clear();
- supportUrl.clear();
- serverUrl.clear();
- defaultHostName.clear();
- updateMirrors.clear();
- updateHosts.clear();
- freeSources.clear();
- nonFreeSources.clear();
- docs.clear();
- version.first = 0;
- version.second.clear();
- packetVersion = 0;
- save = false;
- persistentIp = true;
- freeType = ServerFreeType::Unknown;
- }
-
- bool operator==(const ServerInfo &other) const
- {
- return name == other.name &&
- hostname == other.hostname &&
- port == other.port;
- }
-
- bool operator!=(const ServerInfo &other) const
- {
- return name != other.name ||
- hostname != other.hostname ||
- port != other.port;
- }
-
- static ServerTypeT parseType(const std::string &serverType)
- A_WARN_UNUSED
- {
-#ifdef TMWA_SUPPORT
- if (compareStrI(serverType, "tmwathena") == 0)
- return ServerType::TMWATHENA;
- else
-#endif // TMWA_SUPPORT
- if (compareStrI(serverType, "eathena") == 0)
- return ServerType::EATHENA;
- else if (compareStrI(serverType, "hercules") == 0)
- return ServerType::EATHENA;
- else if (compareStrI(serverType, "evol2") == 0)
- return ServerType::EVOL2;
- return ServerType::UNKNOWN;
- }
-
- static ServerFreeTypeT parseFreeType(const std::string &serverFreeType)
- A_WARN_UNUSED
- {
- if (compareStrI(serverFreeType, "free") == 0)
- return ServerFreeType::Free;
- else if (compareStrI(serverFreeType, "nonfree") == 0)
- return ServerFreeType::NonFree;
- else if (compareStrI(serverFreeType, "unknown") == 0)
- return ServerFreeType::Unknown;
- return ServerFreeType::NotSet;
- }
-};
-
-typedef STD_VECTOR<ServerInfo> ServerInfos;
-
-#endif // NET_SERVERINFO_H