refactor: Clean up CCookieManager

For more loose coupling, Restricted is removed.
This commit is contained in:
Lars Toenning
2024-07-14 20:21:19 +02:00
parent e0190c90df
commit 19870911a8
3 changed files with 10 additions and 29 deletions

View File

@@ -958,7 +958,7 @@ namespace BlackCore
{ {
if (!m_accessManager) { m_accessManager = new QNetworkAccessManager(this); } if (!m_accessManager) { m_accessManager = new QNetworkAccessManager(this); }
m_cookieManager = new CCookieManager({}, this); m_cookieManager = new CCookieManager(this);
m_cookieManager->setParent(m_accessManager); m_cookieManager->setParent(m_accessManager);
m_accessManager->setCookieJar(m_cookieManager); m_accessManager->setCookieJar(m_cookieManager);

View File

@@ -2,7 +2,6 @@
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1 // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
#include "blackcore/cookiemanager.h" #include "blackcore/cookiemanager.h"
#include "blackmisc/restricted.h"
#include <QNetworkCookie> #include <QNetworkCookie>
#include <QNetworkCookieJar> #include <QNetworkCookieJar>
@@ -10,14 +9,9 @@
#include <QReadLocker> #include <QReadLocker>
#include <QWriteLocker> #include <QWriteLocker>
using namespace BlackMisc;
namespace BlackCore namespace BlackCore
{ {
CCookieManager::CCookieManager(BlackMisc::Restricted<CApplication>, QObject *parent) : QNetworkCookieJar(parent) CCookieManager::CCookieManager(QObject *parent) : QNetworkCookieJar(parent) {}
{
// code
}
bool CCookieManager::setCookiesFromUrl(const QList<QNetworkCookie> &cookies, const QUrl &url) bool CCookieManager::setCookiesFromUrl(const QList<QNetworkCookie> &cookies, const QUrl &url)
{ {
@@ -32,11 +26,6 @@ namespace BlackCore
return cookies; return cookies;
} }
QList<QNetworkCookie> CCookieManager::cookiesForRequest(const QNetworkRequest &request) const
{
return cookiesForUrl(request.url());
}
bool CCookieManager::deleteCookie(const QNetworkCookie &cookie) bool CCookieManager::deleteCookie(const QNetworkCookie &cookie)
{ {
QWriteLocker l(&m_lock); QWriteLocker l(&m_lock);

View File

@@ -7,7 +7,6 @@
#define BLACKCORE_COOKIEMANAGER_H #define BLACKCORE_COOKIEMANAGER_H
#include "blackcore/blackcoreexport.h" #include "blackcore/blackcoreexport.h"
#include "blackmisc/restricted.h"
#include <QList> #include <QList>
#include <QNetworkCookieJar> #include <QNetworkCookieJar>
@@ -15,39 +14,32 @@
#include <QReadWriteLock> #include <QReadWriteLock>
class QNetworkCookie; class QNetworkCookie;
class QNetworkRequest;
class QUrl; class QUrl;
namespace BlackCore namespace BlackCore
{ {
class CApplication;
/*! /*!
* Cookie manager, which allows thread safe sharing of cookies * Threadsafe version of QNetworkCookieJar
*/ */
class BLACKCORE_EXPORT CCookieManager : public QNetworkCookieJar class BLACKCORE_EXPORT CCookieManager : public QNetworkCookieJar
{ {
Q_OBJECT Q_OBJECT
public: public:
//! Constructor, only allowed from BlackCore::CApplication //! Constructor
CCookieManager(BlackMisc::Restricted<CApplication>, QObject *parent = nullptr); explicit CCookieManager(QObject *parent = nullptr);
//! \copydoc QNetworkCookieJar::setCookiesFromUrl //! \copydoc QNetworkCookieJar::setCookiesFromUrl
//! \threadsafe //! \threadsafe
virtual bool setCookiesFromUrl(const QList<QNetworkCookie> &cookies, const QUrl &url) override; bool setCookiesFromUrl(const QList<QNetworkCookie> &cookies, const QUrl &url) override;
//! \copydoc QNetworkCookieJar::cookiesForUrl //! \copydoc QNetworkCookieJar::cookiesForUrl
//! \threadsafe //! \threadsafe
virtual QList<QNetworkCookie> cookiesForUrl(const QUrl &url) const override; QList<QNetworkCookie> cookiesForUrl(const QUrl &url) const override;
//! Cookies for request
//! \threadsafe
QList<QNetworkCookie> cookiesForRequest(const QNetworkRequest &request) const;
//! \copydoc QNetworkCookieJar::deleteCookie //! \copydoc QNetworkCookieJar::deleteCookie
//! \threadsafe //! \threadsafe
virtual bool deleteCookie(const QNetworkCookie &cookie) override; bool deleteCookie(const QNetworkCookie &cookie) override;
//! Delete all cookies //! Delete all cookies
//! \threadsafe //! \threadsafe
@@ -55,11 +47,11 @@ namespace BlackCore
//! \copydoc QNetworkCookieJar::insertCookie //! \copydoc QNetworkCookieJar::insertCookie
//! \threadsafe //! \threadsafe
virtual bool insertCookie(const QNetworkCookie &cookie) override; bool insertCookie(const QNetworkCookie &cookie) override;
//! \copydoc QNetworkCookieJar::updateCookie //! \copydoc QNetworkCookieJar::updateCookie
//! \threadsafe //! \threadsafe
virtual bool updateCookie(const QNetworkCookie &cookie) override; bool updateCookie(const QNetworkCookie &cookie) override;
private: private:
mutable QReadWriteLock m_lock { QReadWriteLock::Recursive }; mutable QReadWriteLock m_lock { QReadWriteLock::Recursive };