1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3// Qt-Security score:significant reason:default
4
5#ifndef QNETWORKCOOKIEJAR_H
6#define QNETWORKCOOKIEJAR_H
7
8#include <QtNetwork/qtnetworkglobal.h>
9#include <QtCore/QObject>
10#include <QtCore/QUrl>
11
12QT_BEGIN_NAMESPACE
13
14
15class QNetworkCookie;
16
17class QNetworkCookieJarPrivate;
18class Q_NETWORK_EXPORT QNetworkCookieJar: public QObject
19{
20 Q_OBJECT
21public:
22 explicit QNetworkCookieJar(QObject *parent = nullptr);
23 virtual ~QNetworkCookieJar();
24
25 virtual QList<QNetworkCookie> cookiesForUrl(const QUrl &url) const;
26 virtual bool setCookiesFromUrl(const QList<QNetworkCookie> &cookieList, const QUrl &url);
27
28 virtual bool insertCookie(const QNetworkCookie &cookie);
29 virtual bool updateCookie(const QNetworkCookie &cookie);
30 virtual bool deleteCookie(const QNetworkCookie &cookie);
31
32protected:
33 QList<QNetworkCookie> allCookies() const;
34 void setAllCookies(const QList<QNetworkCookie> &cookieList);
35 virtual bool validateCookie(const QNetworkCookie &cookie, const QUrl &url) const;
36
37private:
38 Q_DECLARE_PRIVATE(QNetworkCookieJar)
39 Q_DISABLE_COPY(QNetworkCookieJar)
40};
41
42QT_END_NAMESPACE
43
44#endif
45

source code of qtbase/src/network/access/qnetworkcookiejar.h