// Application headers.
#include "structs/FilterListStruct.h"
#include "structs/RequestStruct.h"
+#include "structs/UrlStruct.h"
// Qt framework headers.
#include <QString>
static const int BLOCKED = 2;
// The public static sublist constant integers.
- static const int MAIN_BLOCKLIST = 0;
+ static const int MAIN_ALLOWLIST = 0;
+ static const int MAIN_BLOCKLIST = 1;
+ static const int INITIAL_DOMAIN_BLOCKLIST = 2;
+ static const int REGULAR_EXPRESSION_BLOCKLIST = 3;
// The public variables.
FilterListStruct *easyListStructPointer;
bool checkFilterLists(QWebEngineUrlRequestInfo &urlRequestInfo, RequestStruct *requestStructPointer) const;
QString getDispositionString(int dispositionInt) const;
QString getNavigationTypeString(int navigationTypeInt) const;
+ QString getRequestOptionDispositionString(const FilterOptionEnum::Disposition filterOptionDisposition) const;
QString getResourceTypeString(int resourceTypeInt) const;
QString getSublistName(int sublistInt) const;
QString ALLOWED_STRING;
QString BLOCKED_STRING;
+ // The private translated filter option dispositions.
+ QString FILTER_OPTION_NULL;
+ QString FILTER_OPTION_APPLY;
+ QString FILTER_OPTION_OVERRIDE;
+
// The private translated navigation type strings.
QString NAVIGATION_TYPE_LINK;
QString NAVIGATION_TYPE_TYPED;
QString RESOURCE_TYPE_UNKNOWN;
// The private translated sublist strings.
+ QString MAIN_ALLOWLIST_STRING;
QString MAIN_BLOCKLIST_STRING;
+ QString INITIAL_DOMAIN_BLOCKLIST_STRING;
+ QString REGULAR_EXPRESSION_BLOCKLIST_STRING;
// The private functions.
- bool checkIndividualList(QWebEngineUrlRequestInfo &urlRequestInfo, RequestStruct *requestStructPointer, FilterListStruct *filterListStruct) const;
+ bool blockRequest(QWebEngineUrlRequestInfo &urlRequestInfo, RequestStruct *requestStructPointer, const QString &filterListTitle, const int sublistInt, EntryStruct *entryStructPointer) const;
+ bool checkAppliedEntry(QWebEngineUrlRequestInfo &urlRequestInfo, UrlStruct &urlStruct, RequestStruct *requestStructPointer, const QString &filterListTitle, const int sublistInt,
+ EntryStruct *entryStructPointer, QString &urlString, QString &urlStringWithSeparators) const;
+ bool checkDomain(QWebEngineUrlRequestInfo &urlRequestInfo, UrlStruct &urlStruct, RequestStruct *requestStructPointer, const QString &filterListTitle, const int sublistInt,
+ EntryStruct *entryStructPointer) const;
+ bool checkIndividualList(QWebEngineUrlRequestInfo &urlRequestInfo, UrlStruct &urlStruct, RequestStruct *requestStructPointer, FilterListStruct *filterListStructPointer) const;
+ bool checkRegularExpression(QWebEngineUrlRequestInfo &urlRequestInfo, UrlStruct &urlStruct, RequestStruct *requestStructPointer, const QString &filterListTitle, const int sublistInt,
+ EntryStruct *entryStructPointer) const;
+ bool checkRequestOptions(QWebEngineUrlRequestInfo &urlRequestInfo, RequestStruct *requestStructPointer, const QString &filterListTitle, const int sublistInt,
+ EntryStruct *entryStructPointer) const;
+ bool checkThirdParty(QWebEngineUrlRequestInfo &urlRequestInfo, RequestStruct *requestStructPointer, const bool isThirdPartyRequest, const QString &filterListTitle, const int sublistInt,
+ EntryStruct *entryStructPointer) const;
FilterListStruct* populateFilterList(const QString &filterListFileName) const;
- void populateRequestStruct(RequestStruct *requestStructPointer, const int disposition, const QString &filterListTitle, const int sublistInt, const QString &appliedEntry,
- const QString &originalEntry) const;
+ void populateRequestStruct(RequestStruct *requestStructPointer, const int disposition, const QString &filterListTitle, const int sublistInt, EntryStruct *entryStructPointer) const;
+ void prepareFilterListString(QString &filterListString, EntryStruct *entryStructPointer) const;
};
#endif