From 8ec50e55a45af1706d40eff292db4541b6fcc261 Mon Sep 17 00:00:00 2001 From: Akshay Nair Date: Fri, 8 Aug 2025 13:08:44 +0530 Subject: Embed docs as null://docs + web.help api --- src/schemes/NullSchemeHandler.hpp | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/schemes/NullSchemeHandler.hpp (limited to 'src/schemes/NullSchemeHandler.hpp') 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 +#include +#include +#include +#include +#include + +// 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); +}; -- cgit v1.3.1