#ifndef VPNCONFIGIRATIONSCONTROLLER_H #define VPNCONFIGIRATIONSCONTROLLER_H #include #include "configurators/configurator_base.h" #include "containers/containers_defs.h" #include "core/defs.h" #include "settings.h" class VpnConfigurationsController : public QObject { Q_OBJECT public: explicit VpnConfigurationsController(const std::shared_ptr &settings, QSharedPointer serverController, QObject *parent = nullptr); public slots: ErrorCode createProtocolConfigForContainer(const ServerCredentials &credentials, const DockerContainer container, QJsonObject &containerConfig); ErrorCode createProtocolConfigString(const bool isApiConfig, const QPair &dns, const ServerCredentials &credentials, const DockerContainer container, const QJsonObject &containerConfig, const Proto protocol, QString &protocolConfigString); QJsonObject createVpnConfiguration(const QPair &dns, const QJsonObject &serverConfig, const QJsonObject &containerConfig, const DockerContainer container); static void updateContainerConfigAfterInstallation(const DockerContainer container, QJsonObject &containerConfig, const QString &stdOut); signals: private: QScopedPointer createConfigurator(const Proto protocol); std::shared_ptr m_settings; QSharedPointer m_serverController; }; #endif // VPNCONFIGIRATIONSCONTROLLER_H