refactor: VersionChecker use its own QNetworkManager not a Proxy

remove lib/gui/proxy/QNetworkManagerProxy
This commit is contained in:
sithlord48 2025-03-20 22:24:40 -04:00 committed by Nick Bolton
parent 13c325eb3f
commit 70a2554370
5 changed files with 5 additions and 74 deletions

View file

@ -19,11 +19,9 @@
using namespace deskflow::gui;
VersionChecker::VersionChecker(std::shared_ptr<QNetworkAccessManagerProxy> network)
: m_network(network ? network : std::make_shared<QNetworkAccessManagerProxy>())
VersionChecker::VersionChecker(QObject *parent) : QObject(parent), m_network{new QNetworkAccessManager(this)}
{
m_network->init();
connect(m_network.get(), &QNetworkAccessManagerProxy::finished, this, &VersionChecker::replyFinished);
connect(m_network, &QNetworkAccessManager::finished, this, &VersionChecker::replyFinished, Qt::UniqueConnection);
}
void VersionChecker::checkLatest() const
@ -50,6 +48,7 @@ void VersionChecker::replyFinished(QNetworkReply *reply)
qDebug("version check server success, http status: %d", httpStatus);
const auto newestVersion = QString(reply->readAll());
reply->deleteLater();
qDebug("version check response: %s", qPrintable(newestVersion));
if (!newestVersion.isEmpty() && compareVersions(kVersion, newestVersion) > 0) {

View file

@ -6,26 +6,18 @@
#pragma once
#include "gui/proxy/QNetworkAccessManagerProxy.h"
#include <QObject>
#include <QString>
#include <memory>
class QNetworkAccessManager;
class QNetworkReply;
class VersionCheckerTests;
class VersionChecker : public QObject
{
using QNetworkAccessManagerProxy = deskflow::gui::proxy::QNetworkAccessManagerProxy;
Q_OBJECT
friend class VersionCheckerTests;
public:
explicit VersionChecker(std::shared_ptr<QNetworkAccessManagerProxy> network = nullptr);
explicit VersionChecker(QObject *parent = nullptr);
void checkLatest() const;
public slots:
void replyFinished(QNetworkReply *reply);
@ -42,6 +34,5 @@ private:
* more recent the version
*/
static int getStageVersion(QString stage);
std::shared_ptr<QNetworkAccessManagerProxy> m_network;
QNetworkAccessManager *m_network = nullptr;
};

View file

@ -51,8 +51,6 @@ add_library(${target} STATIC
core/WaylandWarnings.h
ipc/DaemonIpcClient.cpp
ipc/DaemonIpcClient.h
proxy/QNetworkAccessManagerProxy.cpp
proxy/QNetworkAccessManagerProxy.h
proxy/QProcessProxy.cpp
proxy/QProcessProxy.h
tls/TlsCertificate.cpp

View file

@ -1,28 +0,0 @@
/*
* Deskflow -- mouse and keyboard sharing utility
* SPDX-FileCopyrightText: (C) 2024 Symless Ltd.
* SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception
*/
#include "QNetworkAccessManagerProxy.h"
#include <QNetworkAccessManager>
#include <QtNetwork/QNetworkReply>
namespace deskflow::gui::proxy {
void QNetworkAccessManagerProxy::init()
{
m_network = std::make_shared<QNetworkAccessManager>();
connect(m_network.get(), &QNetworkAccessManager::finished, this, [this](QNetworkReply *reply) {
Q_EMIT finished(reply);
});
}
void QNetworkAccessManagerProxy::get(const QNetworkRequest &request) const
{
m_network->get(request);
}
} // namespace deskflow::gui::proxy

View file

@ -1,29 +0,0 @@
/*
* Deskflow -- mouse and keyboard sharing utility
* SPDX-FileCopyrightText: (C) 2024 Symless Ltd.
* SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception
*/
#pragma once
#include <QNetworkAccessManager>
#include <QObject>
namespace deskflow::gui::proxy {
class QNetworkAccessManagerProxy : public QObject
{
Q_OBJECT
public:
virtual void init();
virtual void get(const QNetworkRequest &request) const;
signals:
void finished(QNetworkReply *reply);
private:
std::shared_ptr<QNetworkAccessManager> m_network;
};
} // namespace deskflow::gui::proxy