#ifndef IMPORTCONTROLLER_H #define IMPORTCONTROLLER_H #include #include "core/defs.h" #include "containers/containers_defs.h" #include "ui/models/servers_model.h" #include "ui/models/containers_model.h" class ImportController : public QObject { Q_OBJECT public: explicit ImportController(const QSharedPointer &serversModel, const QSharedPointer &containersModel, const std::shared_ptr &settings, QObject *parent = nullptr); public slots: void importConfig(); void extractConfigFromFile(const QUrl &fileUrl); void extractConfigFromCode(QString code); QString getConfig(); QString getConfigFileName(); signals: void importFinished(); void importErrorOccurred(QString errorMessage); private: QJsonObject extractAmneziaConfig(QString &data); QJsonObject extractOpenVpnConfig(const QString &data); QJsonObject extractWireGuardConfig(const QString &data); QSharedPointer m_serversModel; QSharedPointer m_containersModel; std::shared_ptr m_settings; QJsonObject m_config; QString m_configFileName; }; #endif // IMPORTCONTROLLER_H