blob: 34a2120076ad4248affaa216f45e46af4a725397 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
#ifndef ADBLOCKLIST_H
#define ADBLOCKLIST_H
#include <QHash>
#include "adblockrule.h"
class AdBlockList
{
public:
AdBlockList();
QString metadata(const QString &key) const;
FilterLeaf::Action match(const QUrl &firstParty, const QUrl &requestUrl, QWebEngineUrlRequestInfo::ResourceType type = QWebEngineUrlRequestInfo::ResourceTypeUnknown) const;
bool parseLine(const QString &line);
protected:
bool parseComment(const QString &commentLine);
private:
struct Filter
{
FilterLeaf::Action action = FilterLeaf::Block;
Matcher *matcher;
};
QHash<QString, QString> m_metadata;
//QMap<QString, Filter> m_rules;
std::vector<Filter> m_rules;
};
#endif // ADBLOCKLIST_H
|