mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-05-05 01:35:45 +08:00
refactor: Clean up CCookieManager
For more loose coupling, Restricted is removed.
This commit is contained in:
@@ -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);
|
||||||
|
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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 };
|
||||||
|
|||||||
Reference in New Issue
Block a user