aboutsummaryrefslogtreecommitdiff
path: root/staging/adblock/filterlist.h
diff options
context:
space:
mode:
Diffstat (limited to 'staging/adblock/filterlist.h')
-rw-r--r--staging/adblock/filterlist.h20
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;
};