#ifndef ADBLOCKLIST_H #define ADBLOCKLIST_H #include #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 m_metadata; //QMap m_rules; std::vector m_rules; }; #endif // ADBLOCKLIST_H