forked from root-project/root
-
Notifications
You must be signed in to change notification settings - Fork 0
/
rooturlschemehandler.h
54 lines (34 loc) · 1.51 KB
/
rooturlschemehandler.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
// Author: Sergey Linev <S.Linev@gsi.de>
// Date: 2017-06-29
// Warning: This is part of the ROOT 7 prototype! It will change without notice. It might trigger earthquakes. Feedback is welcome!
/*************************************************************************
* Copyright (C) 1995-2023, Rene Brun and Fons Rademakers. *
* All rights reserved. *
* *
* For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/
#ifndef ROOT_UrlSchemeHandler
#define ROOT_UrlSchemeHandler
#include <QWebEngineUrlSchemeHandler>
class THttpServer;
class UrlRequestJobHolder : public QObject {
Q_OBJECT
QWebEngineUrlRequestJob *fRequest{nullptr};
public:
UrlRequestJobHolder(QWebEngineUrlRequestJob *req);
QWebEngineUrlRequestJob *req() const { return fRequest; }
void reset();
public slots:
void onRequestDeleted(QObject *obj);
};
// ===============================================================
class RootUrlSchemeHandler : public QWebEngineUrlSchemeHandler {
Q_OBJECT
protected:
THttpServer *fServer{nullptr}; ///< server instance which should handle requests
public:
QString MakeFullUrl(THttpServer *serv, const QString &url);
void requestStarted(QWebEngineUrlRequestJob *request) override;
};
#endif