#include "cloakProtocolConfig.h" #include #include #include "protocols/protocols_defs.h" using namespace amnezia; CloakProtocolConfig::CloakProtocolConfig(const QJsonObject &protocolConfigObject, const QString &protocolName) : ProtocolConfig(protocolName) { serverProtocolConfig.port = protocolConfigObject.value(config_key::port).toString(); serverProtocolConfig.cipher = protocolConfigObject.value(config_key::cipher).toString(); serverProtocolConfig.site = protocolConfigObject.value(config_key::site).toString(); auto clientProtocolString = protocolConfigObject.value(config_key::last_config).toString(); if (!clientProtocolString.isEmpty()) { clientProtocolConfig.isEmpty = false; QJsonObject clientProtocolConfigObject = QJsonDocument::fromJson(clientProtocolString.toUtf8()).object(); } } QJsonObject CloakProtocolConfig::toJson() const { QJsonObject json; if (!serverProtocolConfig.port.isEmpty()) { json[config_key::port] = serverProtocolConfig.port; } if (!serverProtocolConfig.cipher.isEmpty()) { json[config_key::cipher] = serverProtocolConfig.cipher; } if (!serverProtocolConfig.site.isEmpty()) { json[config_key::site] = serverProtocolConfig.site; } if (!clientProtocolConfig.isEmpty) { QJsonObject clientConfigJson; json[config_key::last_config] = QString(QJsonDocument(clientConfigJson).toJson()); } return json; }