File indexing completed on 2024-04-21 04:42:37

0001 /*
0002     SPDX-FileCopyrightText: 2009 Dawit Alemayehu <adawit@kde.org>
0003 
0004     SPDX-License-Identifier: LGPL-2.1-or-later
0005 */
0006 
0007 #ifndef NETWORKACCESSMANAGER_H
0008 #define NETWORKACCESSMANAGER_H
0009 
0010 #include <KIO/AccessManager>
0011 
0012 #include <QMultiHash>
0013 
0014 class QWebFrame;
0015 
0016 namespace KDEPrivate {
0017 
0018  /**
0019   * Re-implemented for internal reasons. API remains unaffected.
0020   */
0021 class MyNetworkAccessManager : public KIO::AccessManager
0022 {
0023     Q_OBJECT
0024 
0025 public:
0026     explicit MyNetworkAccessManager(QObject *parent = nullptr);
0027 
0028 protected:
0029     QNetworkReply *createRequest(Operation op, const QNetworkRequest &req, QIODevice *outgoingData = nullptr) override;
0030 
0031 private Q_SLOTS:
0032     void slotFinished(bool);
0033     void slotMetaDataChanged();
0034 
0035 private:
0036     QMultiHash<QWebFrame*, QUrl> m_blockedRequests;
0037 };
0038 
0039 }
0040 
0041 #endif // NETWORKACCESSMANAGER_P_H