#include "AbstractBean.hpp" namespace NekoRay::fmt { AbstractBean::AbstractBean(int version) { this->version = version; _add(new configItem("_v", &this->version, itemType::integer)); _add(new configItem("name", &name, itemType::string)); _add(new configItem("addr", &serverAddress, itemType::string)); _add(new configItem("port", &serverPort, itemType::integer)); } QString AbstractBean::ToNekorayShareLink(const QString &type) { auto b = ToJson(); QUrl url; url.setScheme("nekoray"); url.setHost(type); url.setFragment(QJsonObject2QString(b, true) .toUtf8().toBase64(QByteArray::Base64UrlEncoding)); return url.toString(); } QString AbstractBean::DisplayAddress() { return ::DisplayAddress(serverAddress, serverPort); } QString AbstractBean::DisplayName() { if (name.isEmpty()) { return DisplayAddress(); } return name; } QString AbstractBean::DisplayTypeAndName() { return QString(" [%1] %2").arg(DisplayType(), DisplayName()); } }