#include "exportUiController.h" #include #include "../systemController.h" ExportUiController::ExportUiController(ExportController* exportController, QObject *parent) : QObject(parent), m_exportController(exportController) { } void ExportUiController::generateFullAccessConfig(const QString &serverId) { clearPreviousConfig(); auto result = m_exportController->generateFullAccessConfig(serverId); applyExportResult(result); } void ExportUiController::generateConnectionConfig(const QString &serverId, int containerIndex, const QString &clientName) { clearPreviousConfig(); auto result = m_exportController->generateConnectionConfig(serverId, containerIndex, clientName); applyExportResult(result); } void ExportUiController::generateOpenVpnConfig(const QString &serverId, const QString &clientName) { clearPreviousConfig(); auto result = m_exportController->generateOpenVpnConfig(serverId, clientName); applyExportResult(result); } void ExportUiController::generateWireGuardConfig(const QString &serverId, const QString &clientName) { clearPreviousConfig(); auto result = m_exportController->generateWireGuardConfig(serverId, clientName); applyExportResult(result); } void ExportUiController::generateAwgConfig(const QString &serverId, int containerIndex, const QString &clientName) { clearPreviousConfig(); auto result = m_exportController->generateAwgConfig(serverId, containerIndex, clientName); applyExportResult(result); } void ExportUiController::generateXrayConfig(const QString &serverId, const QString &clientName) { clearPreviousConfig(); auto result = m_exportController->generateXrayConfig(serverId, clientName); applyExportResult(result); } QString ExportUiController::getConfig() { return m_config; } QString ExportUiController::getNativeConfigString() { return m_nativeConfigString; } QList ExportUiController::getQrCodes() { return m_qrCodes; } void ExportUiController::exportConfig(const QString &fileName) { if (!SystemController::saveFile(fileName, m_config)) { qInfo() << "ExportUiController::exportConfig: save or share was cancelled or failed"; } } void ExportUiController::updateClientManagementModel(const QString &serverId, int containerIndex) { m_exportController->updateClientManagementModel(serverId, containerIndex); } void ExportUiController::revokeConfig(int row, const QString &serverId, int containerIndex) { m_exportController->revokeConfig(row, serverId, containerIndex); emit revokeConfigFinished(); } void ExportUiController::renameClient(int row, const QString &clientName, const QString &serverId, int containerIndex) { m_exportController->renameClient(row, clientName, serverId, containerIndex); } int ExportUiController::getQrCodesCount() { return m_qrCodes.size(); } void ExportUiController::clearPreviousConfig() { m_config.clear(); m_nativeConfigString.clear(); m_qrCodes.clear(); emit exportConfigChanged(); } void ExportUiController::applyExportResult(const ExportController::ExportResult &result) { if (result.errorCode != ErrorCode::NoError) { emit exportErrorOccurred(result.errorCode); return; } m_config = result.config; m_nativeConfigString = result.nativeConfigString; m_qrCodes = result.qrCodes; emit exportConfigChanged(); }