LeechCraft  0.6.70-15082-g543737046d
Modular cross-platform feature rich live environment.
LC::Util::CustomCookieJar Class Reference

A customized cookie jar with additional features. More...

#include "customcookiejar.h"

+ Inheritance diagram for LC::Util::CustomCookieJar:
+ Collaboration diagram for LC::Util::CustomCookieJar:

Signals

void cookiesAdded (const QList< QNetworkCookie > &)
 
void cookiesRemoved (const QList< QNetworkCookie > &)
 

Public Member Functions

 CustomCookieJar (QObject *parent=nullptr)
 Constructs the cookie jar. More...
 
void SetFilterTrackingCookies (bool filter)
 
void SetEnabled (bool enabled)
 Enables or disables the cookies. More...
 
void SetExactDomainMatch (bool enabled)
 Sets whether exact domain matching is enabled. More...
 
void SetWhitelist (const QList< QRegExp > &list)
 Sets the cookies whitelist. More...
 
void SetBlacklist (const QList< QRegExp > &list)
 Sets the cookies blacklist. More...
 
QByteArray Save () const
 
void Load (const QByteArray &data)
 
void CollectGarbage ()
 
QList< QNetworkCookie > cookiesForUrl (const QUrl &url) const override
 Returns cookies for the given url. More...
 
bool setCookiesFromUrl (const QList< QNetworkCookie > &cookieList, const QUrl &url) override
 Adds the cookieList for the given url to the jar. More...
 

Detailed Description

A customized cookie jar with additional features.

Allows one to filter tracking cookies, filter duplicate cookies and has unlimited storage period.

Definition at line 31 of file customcookiejar.h.

Constructor & Destructor Documentation

◆ CustomCookieJar()

LC::Util::CustomCookieJar::CustomCookieJar ( QObject *  parent = nullptr)
explicit

Constructs the cookie jar.

Filtering of tracking cookies is false by default, and cookies aren't restored.

Parameters
[in]parentThe parent object.

Definition at line 27 of file customcookiejar.cpp.

Member Function Documentation

◆ CollectGarbage()

void LC::Util::CustomCookieJar::CollectGarbage ( )

Removes duplicate cookies.

Definition at line 99 of file customcookiejar.cpp.

◆ cookiesAdded

void LC::Util::CustomCookieJar::cookiesAdded ( const QList< QNetworkCookie > &  )
signal

◆ cookiesForUrl()

QList< QNetworkCookie > LC::Util::CustomCookieJar::cookiesForUrl ( const QUrl &  url) const
override

Returns cookies for the given url.

This function automatically filters out duplicate cookies.

If the cookie jar is disabled, this function does nothing.

Parameters
[in]urlThe url to return cookies for.
Returns
The list of cookies, dup-free.

Definition at line 118 of file customcookiejar.cpp.

◆ cookiesRemoved

void LC::Util::CustomCookieJar::cookiesRemoved ( const QList< QNetworkCookie > &  )
signal

◆ Load()

void LC::Util::CustomCookieJar::Load ( const QByteArray &  data)

Restores the cookies from the array previously obtained from Save().

Parameters
[in]dataSerialized cookies.
See also
Save()

Definition at line 77 of file customcookiejar.cpp.

◆ Save()

QByteArray LC::Util::CustomCookieJar::Save ( ) const

Serializes the cookie jar contents into a QByteArray suitable for storage.

Returns
The serialized cookies.
See also
Load()

Definition at line 57 of file customcookiejar.cpp.

◆ SetBlacklist()

void LC::Util::CustomCookieJar::SetBlacklist ( const QList< QRegExp > &  list)

Sets the cookies blacklist.

Cookies whose domains match regexps from the list will always be rejected until they are also present in the whitelist, in which case they are accepted.

Parameters
[in]listThe blacklist.
See also
SetWhitelist()

Definition at line 52 of file customcookiejar.cpp.

◆ setCookiesFromUrl()

bool LC::Util::CustomCookieJar::setCookiesFromUrl ( const QList< QNetworkCookie > &  cookieList,
const QUrl &  url 
)
override

Adds the cookieList for the given url to the jar.

If the cookie jar is disabled, this function does nothing.

Parameters
[in]cookieListThe list of cookies to add.
[in]urlThe url to set cookies for.
Returns
Whether the jar has been modified as the result.

Definition at line 200 of file customcookiejar.cpp.

References LC::Util::MakeScopeGuard().

+ Here is the call graph for this function:

◆ SetEnabled()

void LC::Util::CustomCookieJar::SetEnabled ( bool  enabled)

Enables or disables the cookies.

If cookie jar is disabled, no new cookies will be saved and no cookies will be returned for any URL.

Parameters
[in]enabledWhether the cookie jar should be enabled.

Definition at line 37 of file customcookiejar.cpp.

◆ SetExactDomainMatch()

void LC::Util::CustomCookieJar::SetExactDomainMatch ( bool  enabled)

Sets whether exact domain matching is enabled.

Parameters
[in]enabledWhether exact matching is enabled.

Definition at line 42 of file customcookiejar.cpp.

◆ SetFilterTrackingCookies()

void LC::Util::CustomCookieJar::SetFilterTrackingCookies ( bool  filter)

Enables or disables filtering tracking cookies.

Parameters
[in]filterWhether to filter tracking cookies.

Definition at line 32 of file customcookiejar.cpp.

◆ SetWhitelist()

void LC::Util::CustomCookieJar::SetWhitelist ( const QList< QRegExp > &  list)

Sets the cookies whitelist.

Cookies whose domains match regexps from the list will always be accepted even despite the SetFilterTrackingCookies() and SetExactDomainMatch() settings.

If a cookie domain matches both a whitelist regexp and blacklist regexp, it is accepted.

If cookies are disabled via SetEnabled(), this option has no effect.

Parameters
[in]listThe whitelist.
See also
SetBlacklist()

Definition at line 47 of file customcookiejar.cpp.


The documentation for this class was generated from the following files: