X-Git-Url: https://gitweb.stoutner.com/?a=blobdiff_plain;f=src%2Fhelpers%2FFilterListHelper.h;h=772d86a7153682ea8881428ee6dfe8ac728663fa;hb=HEAD;hp=5bd9ad261c146e2e0d01e17a162c33f10f5ebb55;hpb=a44e607fb5398c80c5de2629017865ae749e8fbf;p=PrivacyBrowserPC.git diff --git a/src/helpers/FilterListHelper.h b/src/helpers/FilterListHelper.h index 5bd9ad2..772d86a 100644 --- a/src/helpers/FilterListHelper.h +++ b/src/helpers/FilterListHelper.h @@ -23,6 +23,7 @@ // Application headers. #include "structs/FilterListStruct.h" #include "structs/RequestStruct.h" +#include "structs/UrlStruct.h" // Qt framework headers. #include @@ -40,7 +41,10 @@ public: 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; @@ -53,6 +57,7 @@ public: 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; @@ -62,6 +67,11 @@ private: 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; @@ -95,12 +105,26 @@ private: 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