aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/meson.build7
-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