refactor: VersionChecker use its own QNetworkManager not a Proxy
remove lib/gui/proxy/QNetworkManagerProxy
This commit is contained in:
parent
13c325eb3f
commit
70a2554370
5 changed files with 5 additions and 74 deletions
|
|
@ -19,11 +19,9 @@
|
||||||
|
|
||||||
using namespace deskflow::gui;
|
using namespace deskflow::gui;
|
||||||
|
|
||||||
VersionChecker::VersionChecker(std::shared_ptr<QNetworkAccessManagerProxy> network)
|
VersionChecker::VersionChecker(QObject *parent) : QObject(parent), m_network{new QNetworkAccessManager(this)}
|
||||||
: m_network(network ? network : std::make_shared<QNetworkAccessManagerProxy>())
|
|
||||||
{
|
{
|
||||||
m_network->init();
|
connect(m_network, &QNetworkAccessManager::finished, this, &VersionChecker::replyFinished, Qt::UniqueConnection);
|
||||||
connect(m_network.get(), &QNetworkAccessManagerProxy::finished, this, &VersionChecker::replyFinished);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void VersionChecker::checkLatest() const
|
void VersionChecker::checkLatest() const
|
||||||
|
|
@ -50,6 +48,7 @@ void VersionChecker::replyFinished(QNetworkReply *reply)
|
||||||
qDebug("version check server success, http status: %d", httpStatus);
|
qDebug("version check server success, http status: %d", httpStatus);
|
||||||
|
|
||||||
const auto newestVersion = QString(reply->readAll());
|
const auto newestVersion = QString(reply->readAll());
|
||||||
|
reply->deleteLater();
|
||||||
qDebug("version check response: %s", qPrintable(newestVersion));
|
qDebug("version check response: %s", qPrintable(newestVersion));
|
||||||
|
|
||||||
if (!newestVersion.isEmpty() && compareVersions(kVersion, newestVersion) > 0) {
|
if (!newestVersion.isEmpty() && compareVersions(kVersion, newestVersion) > 0) {
|
||||||
|
|
|
||||||
|
|
@ -6,26 +6,18 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "gui/proxy/QNetworkAccessManagerProxy.h"
|
|
||||||
|
|
||||||
#include <QObject>
|
#include <QObject>
|
||||||
#include <QString>
|
#include <QString>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
|
||||||
class QNetworkAccessManager;
|
class QNetworkAccessManager;
|
||||||
class QNetworkReply;
|
class QNetworkReply;
|
||||||
class VersionCheckerTests;
|
|
||||||
|
|
||||||
class VersionChecker : public QObject
|
class VersionChecker : public QObject
|
||||||
{
|
{
|
||||||
using QNetworkAccessManagerProxy = deskflow::gui::proxy::QNetworkAccessManagerProxy;
|
|
||||||
|
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
friend class VersionCheckerTests;
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit VersionChecker(std::shared_ptr<QNetworkAccessManagerProxy> network = nullptr);
|
explicit VersionChecker(QObject *parent = nullptr);
|
||||||
void checkLatest() const;
|
void checkLatest() const;
|
||||||
public slots:
|
public slots:
|
||||||
void replyFinished(QNetworkReply *reply);
|
void replyFinished(QNetworkReply *reply);
|
||||||
|
|
@ -42,6 +34,5 @@ private:
|
||||||
* more recent the version
|
* more recent the version
|
||||||
*/
|
*/
|
||||||
static int getStageVersion(QString stage);
|
static int getStageVersion(QString stage);
|
||||||
|
QNetworkAccessManager *m_network = nullptr;
|
||||||
std::shared_ptr<QNetworkAccessManagerProxy> m_network;
|
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -51,8 +51,6 @@ add_library(${target} STATIC
|
||||||
core/WaylandWarnings.h
|
core/WaylandWarnings.h
|
||||||
ipc/DaemonIpcClient.cpp
|
ipc/DaemonIpcClient.cpp
|
||||||
ipc/DaemonIpcClient.h
|
ipc/DaemonIpcClient.h
|
||||||
proxy/QNetworkAccessManagerProxy.cpp
|
|
||||||
proxy/QNetworkAccessManagerProxy.h
|
|
||||||
proxy/QProcessProxy.cpp
|
proxy/QProcessProxy.cpp
|
||||||
proxy/QProcessProxy.h
|
proxy/QProcessProxy.h
|
||||||
tls/TlsCertificate.cpp
|
tls/TlsCertificate.cpp
|
||||||
|
|
|
||||||
|
|
@ -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
|
|
||||||
|
|
@ -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
|
|
||||||
Loading…
Reference in a new issue