diff options
Diffstat (limited to 'lib/urlfilter/filterleaf.h')
-rw-r--r-- | lib/urlfilter/filterleaf.h | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/lib/urlfilter/filterleaf.h b/lib/urlfilter/filterleaf.h index 44330aa..64f465d 100644 --- a/lib/urlfilter/filterleaf.h +++ b/lib/urlfilter/filterleaf.h @@ -13,6 +13,9 @@ #include <QObject> #include <QString> #include <QWebEngineUrlRequestInfo> +#include <optional> +#include <utility> +#include <QVariant> class FilterLeaf { @@ -34,19 +37,15 @@ public: DomainMatch }; - FilterLeaf(FilterLeaf &&other); - FilterLeaf &operator=(FilterLeaf &&other); virtual ~FilterLeaf() = default; virtual bool match(const QUrl &requestUrl) const = 0; - virtual Action action() const = 0; + virtual std::pair<Action, QVariant> action() const = 0; const QString request() const; - const QString redirect() const; + std::optional<bool> option(QWebEngineUrlRequestInfo::ResourceType opt) const; protected: - explicit FilterLeaf() = default; - // rule matching UrlMatchType matchType = InvalidMatch; QHash<QWebEngineUrlRequestInfo::ResourceType, bool> resourceTypeOptions; @@ -54,7 +53,6 @@ protected: // rule action bool m_isBlocking; - QString m_redirect; }; Q_DECLARE_METATYPE(FilterLeaf::Action) |