/* * 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 */ #pragma once #include #include class FilterManager : public QWebEngineUrlRequestInterceptor { public: FilterManager(QObject *parent = nullptr) : QWebEngineUrlRequestInterceptor(parent) { } ~FilterManager() { qDeleteAll(filters); } void addFilterList(FilterList *list) { filters.append(list); } void interceptRequest(QWebEngineUrlRequestInfo &info) override { for(const auto *filter : qAsConst(filters)) { if(filter->filter(info)) { return; } } } private: QList filters; };