#ifndef NAM_H_ #define NAM_H_ #include #include #include /** * Block certain requests based on URL */ class SlxNetworkAccessManager : public QNetworkAccessManager { Q_OBJECT public: SlxNetworkAccessManager(QRegularExpression list, bool isWhitelist, QObject *parent = nullptr) : QNetworkAccessManager(parent), _list(list), _isWhitelist(isWhitelist) {} protected: QNetworkReply* createRequest(QNetworkAccessManager::Operation op, const QNetworkRequest &originalReq, QIODevice *outgoingData = nullptr) override; private: QRegularExpression _list; bool _isWhitelist; }; class SlxDisabledNetworkReply : public QNetworkReply { Q_OBJECT public: SlxDisabledNetworkReply(QObject *parent, const QNetworkRequest &req, QNetworkAccessManager::Operation op); ~SlxDisabledNetworkReply() {} void abort() override { } protected: qint64 readData(char *, qint64) override { return -1; } }; #endif