diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/meson.build | 7 | ||||
-rw-r--r-- | include/smolbote/filterinterface.hpp (renamed from include/filterinterface.h) | 19 | ||||
-rw-r--r-- | include/smolbote/plugininterface.hpp (renamed from include/plugininterface.h) | 12 |
3 files changed, 18 insertions, 20 deletions
diff --git a/include/meson.build b/include/meson.build index c2bf758..7601966 100644 --- a/include/meson.build +++ b/include/meson.build @@ -1,6 +1,5 @@ -dep_plugininterface = declare_dependency( - include_directories: include_directories('.') -) +plugininterfaces_include = include_directories('.') -plugininterface_include = include_directories('.') +install_headers('smolbote/filterinterface.hpp', 'smolbote/plugininterface.hpp', + subdir: 'smolbote') diff --git a/include/filterinterface.h b/include/smolbote/filterinterface.hpp index fb04e25..3bbddf2 100644 --- a/include/filterinterface.h +++ b/include/smolbote/filterinterface.hpp @@ -6,31 +6,34 @@ * SPDX-License-Identifier: MIT */ -#pragma once +#ifndef SMOLBOTE_SMOLBLOK_INTERFACE_HPP +#define SMOLBOTE_SMOLBLOK_INTERFACE_HPP #include <QWebEngineUrlRequestInfo> #include <QtPlugin> +#include <QIODevice> -class Filter +class FilterList { public: - virtual ~Filter() = default; + virtual ~FilterList() = default; - virtual void filter(QWebEngineUrlRequestInfo &info) const = 0; - - virtual bool isUpToDate() const = 0; + [[nodiscard]] virtual bool filter(QWebEngineUrlRequestInfo &info) const = 0; + [[nodiscard]] virtual bool isUpToDate() const = 0; }; // A class to provide filter interfaces -class QIODevice; class FilterPlugin { public: virtual ~FilterPlugin() = default; - virtual Filter* load(QIODevice* from) const = 0; + virtual FilterList *load(QIODevice&) const = 0; + virtual bool parse(FilterList *list, QIODevice &) const = 0; }; #define FilterPluginIid "net.iserlohn-fortress.smolbote.FilterPlugin" Q_DECLARE_INTERFACE(FilterPlugin, FilterPluginIid) +#endif // SMOLBOTE_SMOLBLOK_INTERFACE_HPP + diff --git a/include/plugininterface.h b/include/smolbote/plugininterface.hpp index 4c36d8a..5fa4530 100644 --- a/include/plugininterface.h +++ b/include/smolbote/plugininterface.hpp @@ -6,24 +6,20 @@ * SPDX-License-Identifier: MIT */ -#pragma once +#ifndef SMOLBOTE_PLUGIN_INTERFACE_HPP +#define SMOLBOTE_PLUGIN_INTERFACE_HPP #include <QtPlugin> -#include <QHash> -#include <memory> -#include <functional> -#include <QApplication> - -typedef QHash<QString, std::function<int()>> CommandHash_t; class QDialog; class PluginInterface { public: virtual ~PluginInterface() = default; - virtual CommandHash_t commands() = 0; virtual QDialog *createWidget(QWidget *parent = nullptr) const = 0; }; #define PluginInterfaceIid "net.iserlohn-fortress.smolbote.PluginInterface" Q_DECLARE_INTERFACE(PluginInterface, PluginInterfaceIid) + +#endif // SMOLBOTE_PLUGIN_INTERFACE_HPP |