summaryrefslogtreecommitdiff
path: root/src/plugins/pluginloader.h
diff options
context:
space:
mode:
authoraqua <aqua@iserlohn-fortress.net>2022-08-16 16:19:04 +0300
committeraqua <aqua@iserlohn-fortress.net>2022-08-16 16:19:04 +0300
commit616e680aa8af8f5056b5133dd44258c252ca656f (patch)
tree4c89c4fe2b9b2cc77c550c8d52d6d1058ee10846 /src/plugins/pluginloader.h
parentAdd rView and WebView (diff)
downloadrekonq-616e680aa8af8f5056b5133dd44258c252ca656f.tar.xz
Turn WebEngine into a plugin
Diffstat (limited to 'src/plugins/pluginloader.h')
-rw-r--r--src/plugins/pluginloader.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/plugins/pluginloader.h b/src/plugins/pluginloader.h
new file mode 100644
index 00000000..f764da9f
--- /dev/null
+++ b/src/plugins/pluginloader.h
@@ -0,0 +1,25 @@
+/* ============================================================
+ * The rekonq project
+ * ============================================================
+ * SPDX-License-Identifier: GPL-3.0-only
+ * Copyright (C) 2022 aqua <aqua@iserlohn-fortress.net>
+ * ============================================================
+ * Description: rekonq plugin loader
+ * ============================================================ */
+
+#pragma once
+
+#include "rplugininterface.hpp"
+#include <QPluginLoader>
+
+class PluginLoader : public QPluginLoader {
+
+public:
+ explicit PluginLoader(const QString &path, QObject *parent = nullptr);
+ [[nodiscard]] bool hasScheme(const QString &scheme) { return m_schemes.contains(scheme); }
+
+ [[nodiscard]] RekonqPluginInterface *interface() { return qobject_cast<RekonqPluginInterface *>(instance()); }
+
+private:
+ QStringList m_schemes;
+};