diff options
Diffstat (limited to 'lib/urlfilter/filterleaf.h')
-rw-r--r-- | lib/urlfilter/filterleaf.h | 60 |
1 files changed, 0 insertions, 60 deletions
diff --git a/lib/urlfilter/filterleaf.h b/lib/urlfilter/filterleaf.h deleted file mode 100644 index 64f465d..0000000 --- a/lib/urlfilter/filterleaf.h +++ /dev/null @@ -1,60 +0,0 @@ -/* - * This file is part of smolbote. It's copyrighted by the contributors recorded - * in the version control history of the file, available from its original - * location: https://neueland.iserlohn-fortress.net/gitea/aqua/smolbote - * - * SPDX-License-Identifier: GPL-3.0 - */ - -#ifndef SMOLBOTE_FILTERLEAF_H -#define SMOLBOTE_FILTERLEAF_H - -#include <QHash> -#include <QObject> -#include <QString> -#include <QWebEngineUrlRequestInfo> -#include <optional> -#include <utility> -#include <QVariant> - -class FilterLeaf -{ -public: - enum Action { - NotMatched, - Allow, - Block, - Redirect - }; - - enum UrlMatchType { - InvalidMatch, - RegularExpressionMatch, - StringContains, - StringStartsWith, - StringEndsWith, - StringEquals, - DomainMatch - }; - - virtual ~FilterLeaf() = default; - - virtual bool match(const QUrl &requestUrl) const = 0; - virtual std::pair<Action, QVariant> action() const = 0; - - const QString request() const; - std::optional<bool> option(QWebEngineUrlRequestInfo::ResourceType opt) const; - -protected: - // rule matching - UrlMatchType matchType = InvalidMatch; - QHash<QWebEngineUrlRequestInfo::ResourceType, bool> resourceTypeOptions; - QString m_request; - - // rule action - bool m_isBlocking; -}; - -Q_DECLARE_METATYPE(FilterLeaf::Action) - -#endif // SMOLBOTE_FILTERLEAF_H |