diff options
Diffstat (limited to 'staging/adblock/filterlist.h')
-rw-r--r-- | staging/adblock/filterlist.h | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/staging/adblock/filterlist.h b/staging/adblock/filterlist.h index 3ee18b3..59717af 100644 --- a/staging/adblock/filterlist.h +++ b/staging/adblock/filterlist.h @@ -6,6 +6,8 @@ * SPDX-License-Identifier: GPL-3.0 */ +#include "filterinterface.h" +#include <QDateTime> #include <QObject> #include <QString> #include <QStringList> @@ -16,12 +18,12 @@ class QTextStream; namespace AdblockPlus { class Rule; -class FilterList : public QObject +class FilterList : public Filter { Q_DISABLE_COPY(FilterList) public: - explicit FilterList(QObject *parent = nullptr); + explicit FilterList() = default; ~FilterList(); enum ParseResultState { @@ -39,11 +41,23 @@ public: }; ParseResult parse(QTextStream &stream); + void filter(QWebEngineUrlRequestInfo &info) const override; + bool isUpToDate() const override; + QDateTime modified() const + { + return lastModified; + } + QDateTime expiresOn() const + { + return expires; + } + private: void parseComment(QString &line); bool parseRule(const QString &line); - QStringList m_comments; + QDateTime lastModified; + QDateTime expires; QVector<Rule *> m_rules; }; |