Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class NetworkAccessManager : public QNetworkAccessManager
- {
- Q_OBJECT
- public:
- NetworkAccessManager(QObject *parent) : QNetworkAccessManager(parent) {}
- private:
- QHash <QString,QNetworkReply> handlers;
- protected:
- QNetworkReply *createRequest(
- Operation op, const QNetworkRequest &request, QIODevice *outgoingData)
- {
- QNetworkReply *reply;
- QString scheme = request.url().scheme();
- if (handlers.contains(scheme)) {
- // get reply...
- } else {
- reply = QNetworkAccessManager::createRequest(op, request, outgoingData);
- }
- return reply;
- }
- void addSchemeHandler(QString scheme, QNetworkReply *class) {
- handlers[scheme] = class;
- }
- }
- class MainWindow : public QMainWindow
- {
- Q_OBJECT
- public:
- MainWindow(QObject *parent) : QMainWindow(parent) {
- n_nam.addSchemeHandler("home", DirSchemeHandler("/home/speakman"));
- n_nam.addSchemeHandler("temp", DirSchemeHandler("/tmp"));
- n_nam.addSchemeHandler("config", ConfigSchemeHandler());
- QWebView *m_webview = new QWebView(this);
- m_webview->setNetworkAccessManager(m_nam);
- n_nam.addSchemeHandler("config", ConfigSchemeHandler());
- QWebView *m_webview = new QWebView(this);
- m_webview->setNetworkAccessManager(m_nam);
- }
- }
Add Comment
Please, Sign In to add comment