/* * 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://library.iserlohn-fortress.net/aqua/smolbote.git * * SPDX-License-Identifier: GPL-3.0 */ #include "options.h" #include #include #ifndef SMOLBOTE_ADBLOCK_RULE_H #define SMOLBOTE_ADBLOCK_RULE_H class QStringMatcher; class QRegularExpression; namespace AdblockPlus { class Rule { public: // virtual bool hasMatch(const QString &url) const = 0; }; class MatcherRule : public Rule { Q_DISABLE_COPY(MatcherRule) public: MatcherRule(const QString &rule, const Options &opt); ~MatcherRule(); private: Options options; QStringMatcher *matcher; }; class RegexRule : public Rule { Q_DISABLE_COPY(RegexRule) public: RegexRule(const QString &rule, const Options &opt); ~RegexRule(); private: Options options; QRegularExpression *regex; }; } // namespace AdblockPlus #endif // SMOLBOTE_ADBLOCK_RULE_H