aboutsummaryrefslogtreecommitdiff
path: root/src/serverdata.cpp
diff options
context:
space:
mode:
authorCerapter <43446478+Cerapter@users.noreply.github.com>2024-05-15 17:19:03 +0200
committerGitHub <noreply@github.com>2024-05-15 10:19:03 -0500
commit4fb61b7afd9f234492451ed34ee22c9a5ece0b7e (patch)
tree5dfa2102256149b98814d085839fdf4e894618b1 /src/serverdata.cpp
parentc9eabf35dafa22f7ad7f012c23f63f1605a47668 (diff)
Lift out most server-related data into its own class (#955)
* Lift out most server-related data into its own class * Fix missing negation in the auth packet support check * Update `get_feature(BASE_FEATURE_SET)`'s documentation * Make the version numbers public * Add support for custom blips --------- Co-authored-by: in1tiate <32779090+in1tiate@users.noreply.github.com>
Diffstat (limited to 'src/serverdata.cpp')
-rw-r--r--src/serverdata.cpp40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/serverdata.cpp b/src/serverdata.cpp
new file mode 100644
index 00000000..b8a08df8
--- /dev/null
+++ b/src/serverdata.cpp
@@ -0,0 +1,40 @@
+#include <serverdata.h>
+
+#include <QUrl>
+#include <QVariant>
+
+namespace server {
+ bool ServerData::get_feature(const BASE_FEATURE_SET &f_feature) const
+ {
+ return get_feature(QVariant::fromValue(f_feature).toString());
+ }
+
+ bool ServerData::get_feature(const QString &f_feature) const
+ {
+ return m_features.contains(f_feature, Qt::CaseInsensitive);
+ }
+
+ void ServerData::set_features(const QStringList &f_feature_list)
+ {
+ m_features = f_feature_list;
+ }
+
+ void ServerData::set_server_software(const QString &newServer_software)
+ {
+ m_server_software = newServer_software;
+ }
+
+ QString ServerData::get_asset_url() const { return m_asset_url; }
+
+ void ServerData::set_asset_url(const QString &f_asset_url)
+ {
+ QUrl l_asset_url = QUrl::fromPercentEncoding(f_asset_url.toUtf8());
+
+ if (l_asset_url.isValid()) {
+ m_asset_url = l_asset_url.toString();
+ }
+
+ m_asset_url = f_asset_url;
+ }
+
+} // namespace server