mirror of
https://github.com/amnezia-vpn/amnezia-client.git
synced 2026-06-23 02:00:20 +07:00
feat: update ConfigManager and ProxyServer to utilize Settings
- Modified ConfigManager to accept a Settings object for improved configuration management. - Updated ProxyServer to initialize with Settings, enhancing dependency injection.
This commit is contained in:
@@ -1,30 +1,24 @@
|
||||
#pragma once
|
||||
|
||||
#include "iproxyservice.h"
|
||||
#include "configmanager.h"
|
||||
#include "iproxyservice.h"
|
||||
#include "xraycontroller.h"
|
||||
|
||||
#include <QObject>
|
||||
#include <QScopedPointer>
|
||||
#include <QJsonObject>
|
||||
#include <memory>
|
||||
|
||||
class Settings;
|
||||
|
||||
class ProxyService : public QObject, public IProxyService {
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit ProxyService(QObject* parent = nullptr);
|
||||
explicit ProxyService(const std::shared_ptr<Settings> &settings, QObject* parent = nullptr);
|
||||
~ProxyService() = default;
|
||||
|
||||
QJsonObject getConfig() const override;
|
||||
bool updateConfig(const QString& configStr) override;
|
||||
QMap<QString, QJsonObject> getAllConfigs() const override;
|
||||
QMap<QString, QJsonObject> getConfigsByUuids(const QStringList &uuids) const override;
|
||||
bool addConfigs(const QStringList &serializedConfigs) override;
|
||||
bool removeConfig(const QString &uuid) override;
|
||||
bool activateConfig(const QString &uuid) override;
|
||||
QJsonObject getActiveConfig() const override;
|
||||
bool updateAllConfigs(const QStringList &serializedConfigs) override;
|
||||
QString getActiveConfigUuid() const;
|
||||
int getConfigCount() const override;
|
||||
|
||||
QJsonObject getConfig() override;
|
||||
bool startXray() override;
|
||||
bool stopXray() override;
|
||||
bool isXrayRunning() const override;
|
||||
@@ -32,10 +26,10 @@ public:
|
||||
QString getXrayError() const override;
|
||||
|
||||
signals:
|
||||
void configsChanged();
|
||||
void xrayStatusChanged(bool running);
|
||||
|
||||
private:
|
||||
QScopedPointer<ConfigManager> m_configManager;
|
||||
QScopedPointer<XrayController> m_xrayController;
|
||||
QJsonObject m_cachedConfig;
|
||||
};
|
||||
Reference in New Issue
Block a user