aboutsummaryrefslogtreecommitdiff
path: root/lib/urlfilter/filterleaf.h
diff options
context:
space:
mode:
authorAqua-sama <aqua@iserlohn-fortress.net>2018-11-16 16:26:22 +0100
committerAqua-sama <aqua@iserlohn-fortress.net>2018-11-16 16:26:22 +0100
commit566abfa99120652fb1e9190d791fdbbba64d2e0d (patch)
tree86a6f71b926794298d922a9319b55909cf5a07b4 /lib/urlfilter/filterleaf.h
parentAdd more regex benchmarks (diff)
downloadsmolbote-566abfa99120652fb1e9190d791fdbbba64d2e0d.tar.xz
Add adblockrule_parse
Diffstat (limited to 'lib/urlfilter/filterleaf.h')
-rw-r--r--lib/urlfilter/filterleaf.h12
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)