From 737d688e5b173ef5155db3e4fc9e8debf9b33a11 Mon Sep 17 00:00:00 2001 From: Aqua-sama Date: Sun, 31 May 2020 21:53:52 +0300 Subject: enable smolblok Build both HostlistFilter and AdblockFitler plugins by default. --- plugins/HostlistFilter/plugin/plugin.cpp | 32 ++++++++++++++++++++++ plugins/HostlistFilter/plugin/plugin.h | 28 +++++++++++++++++++ .../plugin/smolblokHostlistPlugin.json | 4 +++ 3 files changed, 64 insertions(+) create mode 100644 plugins/HostlistFilter/plugin/plugin.cpp create mode 100644 plugins/HostlistFilter/plugin/plugin.h create mode 100644 plugins/HostlistFilter/plugin/smolblokHostlistPlugin.json (limited to 'plugins/HostlistFilter/plugin') diff --git a/plugins/HostlistFilter/plugin/plugin.cpp b/plugins/HostlistFilter/plugin/plugin.cpp new file mode 100644 index 0000000..28a7706 --- /dev/null +++ b/plugins/HostlistFilter/plugin/plugin.cpp @@ -0,0 +1,32 @@ +/* + * This file is part of smolbote. It's copyrighted by the contributors recorded + * in the version control history of the file, available from its original + * location: https://library.iserlohn-fortress.net/aqua/smolbote.git + * + * SPDX-License-Identifier: GPL-3.0 + */ + +#include "plugin.h" +#include "filterlist.h" + +FilterList* HostlistFilterPlugin::load(QIODevice &from) const +{ + if(!from.isOpen()) + return nullptr; + + auto *list = new Hostlist::Filterlist; + return list; +} + +bool HostlistFilterPlugin::parse(FilterList *list, QIODevice &from) const +{ + if(list == nullptr || !from.isOpen()) { + return false; + } + auto *l = dynamic_cast(list); + if(l == nullptr) { + return false; + } + return l->load(from); +} + diff --git a/plugins/HostlistFilter/plugin/plugin.h b/plugins/HostlistFilter/plugin/plugin.h new file mode 100644 index 0000000..53b5d36 --- /dev/null +++ b/plugins/HostlistFilter/plugin/plugin.h @@ -0,0 +1,28 @@ +/* + * This file is part of smolbote. It's copyrighted by the contributors recorded + * in the version control history of the file, available from its original + * location: https://library.iserlohn-fortress.net/aqua/smolbote.git + * + * SPDX-License-Identifier: GPL-3.0 + */ + +#ifndef SMOLBLOK_FILTER_PLUGIN_H +#define SMOLBLOK_FILTER_PLUGIN_H + +#include + +class HostlistFilterPlugin : public QObject, public FilterPlugin +{ + Q_OBJECT + Q_PLUGIN_METADATA(IID FilterPluginIid FILE "smolblokHostlistPlugin.json") + Q_INTERFACES(FilterPlugin) + +public: + ~HostlistFilterPlugin() = default; + + FilterList *load(QIODevice &from) const override; + bool parse(FilterList *list, QIODevice &from) const override; +}; + +#endif // SMOLBLOK_FILTER_PLUGIN_H + diff --git a/plugins/HostlistFilter/plugin/smolblokHostlistPlugin.json b/plugins/HostlistFilter/plugin/smolblokHostlistPlugin.json new file mode 100644 index 0000000..aa53cdd --- /dev/null +++ b/plugins/HostlistFilter/plugin/smolblokHostlistPlugin.json @@ -0,0 +1,4 @@ +{ + "name": "smolblok Hostlist filter plugin", + "author": "Aqua " +} -- cgit v1.2.1