diff options
| author | Akshay Nair <phenax5@gmail.com> | 2025-08-08 13:08:44 +0530 |
|---|---|---|
| committer | Akshay Nair <phenax5@gmail.com> | 2025-08-08 13:08:44 +0530 |
| commit | 8ec50e55a45af1706d40eff292db4541b6fcc261 (patch) | |
| tree | 6b4cb54d638765cc0c3178984a6ec18af4a3a7e4 /src/schemes/NullSchemeHandler.hpp | |
| parent | b955a603c27ffb3869901b1899303b936816afcf (diff) | |
| download | null-browser-8ec50e55a45af1706d40eff292db4541b6fcc261.tar.gz null-browser-8ec50e55a45af1706d40eff292db4541b6fcc261.zip | |
Embed docs as null://docs + web.help api
Diffstat (limited to '')
| -rw-r--r-- | src/schemes/NullSchemeHandler.hpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/schemes/NullSchemeHandler.hpp b/src/schemes/NullSchemeHandler.hpp new file mode 100644 index 0000000..bc05076 --- /dev/null +++ b/src/schemes/NullSchemeHandler.hpp @@ -0,0 +1,30 @@ +#pragma once + +#include <QWebEngineUrlRequestJob> +#include <QWebEngineUrlSchemeHandler> +#include <QtCore> +#include <qcontainerfwd.h> +#include <qdebug.h> +#include <qurlquery.h> + +// TODO: Install doc dir and pass this path during build +#define NULL_DOCS_DIR "./doc" + +class NullSchemeHandler : public QWebEngineUrlSchemeHandler { + Q_OBJECT + +public: + static NullSchemeHandler &instance() { + static NullSchemeHandler handler; + return handler; + } + + void requestStarted(QWebEngineUrlRequestJob *job) override; + +private: + NullSchemeHandler() = default; + + QByteArray read_static_docs_file(const QString &path); + QByteArray read_index_html(); + QByteArray get_content_type(const QString &path); +}; |
