From dde82e0dddcc2722f33a72ec737e2e60f24a4fe7 Mon Sep 17 00:00:00 2001 From: ZGaetano Date: Wed, 6 May 2026 20:18:22 -0400 Subject: [PATCH] Upload dragonrelaybackend.cpp --- app/vpn/dragonrelaybackend.cpp | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/app/vpn/dragonrelaybackend.cpp b/app/vpn/dragonrelaybackend.cpp index d37dbd8..1bdeb24 100644 --- a/app/vpn/dragonrelaybackend.cpp +++ b/app/vpn/dragonrelaybackend.cpp @@ -13,16 +13,18 @@ DragonRelayBackend::DragonRelayBackend(QObject *parent) , m_settings(QStringLiteral("WildDragon"), QStringLiteral("DragonMoonlight")) { // ── Wire RelayClient signals ────────────────────────────────────────────── - connect(&m_relay, &RelayClient::loginDone, - this, &DragonRelayBackend::onLoginDone); - connect(&m_relay, &RelayClient::vpnPeerProvisioned, - this, &DragonRelayBackend::onVPNPeerProvisioned); - connect(&m_relay, &RelayClient::vpnError, - this, &DragonRelayBackend::onVPNError); - connect(&m_relay, &RelayClient::hostsFetched, - this, &DragonRelayBackend::onHostsFetched); - connect(&m_relay, &RelayClient::hostsError, - this, &DragonRelayBackend::onHostsError); + connect(&m_relay, &RelayClient::loginSucceeded, + this, [this]() { onLoginDone(true, QString()); }); + connect(&m_relay, QOverload::of(&RelayClient::loginFailed), + this, [this](const QString &err) { onLoginDone(false, err); }); + connect(&m_relay, &RelayClient::vpnProvisioned, + this, [this](const RelayVPNConf &conf) { onVPNPeerProvisioned(conf); }); + connect(&m_relay, QOverload::of(&RelayClient::vpnProvisionFailed), + this, [this](const QString &err) { onVPNError(err); }); + connect(&m_relay, &RelayClient::hostsReady, + this, [this](const QList &hosts) { onHostsFetched(hosts); }); + connect(&m_relay, QOverload::of(&RelayClient::hostsFetchFailed), + this, [this](const QString &err) { onHostsError(err); }); // ── Wire TunnelManager signals ──────────────────────────────────────────── connect(&m_tunnel, &TunnelManager::tunnelUp, @@ -77,8 +79,7 @@ void DragonRelayBackend::connectRelay(const QString &url, m_settings.setValue(QStringLiteral("relay/username"), username); setStatus(Connecting, QStringLiteral("Logging in…")); - m_relay.setBaseURL(url); - m_relay.login(username, password); + m_relay.login(QUrl(url), username, password); } // ── disconnectRelay ─────────────────────────────────────────────────────────── @@ -86,7 +87,7 @@ void DragonRelayBackend::connectRelay(const QString &url, void DragonRelayBackend::disconnectRelay() { stopHostPoll(); m_tunnel.stop(); // triggers onTunnelDown asynchronously - m_relay.deleteVPNPeer(); // fire-and-forget + m_relay.revokeVPN(); // fire-and-forget m_hosts.clear(); m_hostDisplays.clear(); @@ -172,7 +173,7 @@ void DragonRelayBackend::onLoginDone(bool ok, const QString &err) { return; } setStatus(Connecting, QStringLiteral("Provisioning VPN peer…")); - m_relay.provisionVPNPeer(); + m_relay.provisionVPN(); } void DragonRelayBackend::onVPNPeerProvisioned(const RelayVPNConf &conf) { @@ -182,7 +183,7 @@ void DragonRelayBackend::onVPNPeerProvisioned(const RelayVPNConf &conf) { QString parseErr; if (!WireGuardConfig::fromConf(conf.conf, cfg, parseErr)) { setStatus(Error, QStringLiteral("Bad VPN config: ") + parseErr); - m_relay.deleteVPNPeer(); + m_relay.revokeVPN(); return; } @@ -245,6 +246,6 @@ void DragonRelayBackend::onTunnelDown() { void DragonRelayBackend::onTunnelError(const QString &err) { stopHostPoll(); - m_relay.deleteVPNPeer(); + m_relay.revokeVPN(); setStatus(Error, QStringLiteral("Tunnel error: ") + err); }