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. --- staging/smolblok/smolblok.hpp | 80 ------------------------------------------- 1 file changed, 80 deletions(-) delete mode 100644 staging/smolblok/smolblok.hpp (limited to 'staging/smolblok/smolblok.hpp') diff --git a/staging/smolblok/smolblok.hpp b/staging/smolblok/smolblok.hpp deleted file mode 100644 index e547d67..0000000 --- a/staging/smolblok/smolblok.hpp +++ /dev/null @@ -1,80 +0,0 @@ -/* - * 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 SMOLBOTE_SMOLBLOK_HPP -#define SMOLBOTE_SMOLBLOK_HPP - -#include "filtermanager.hpp" -#include -#include -#include - -class smolblok -{ -public: - smolblok() = default; - ~smolblok() - { - for(auto &plugin : m_formats) { - delete plugin.loader; - } - } - - auto registerFormatPlugin(const QString &format, const QString &filename) - { - struct { - bool loaded = false; - QString error; - } ret; - - if(format.isEmpty() || filename.isEmpty()) { - ret.error = "Format or filename is empty"; - return ret; - } - - auto *plugin = new QPluginLoader(filename); - if(!plugin->load()) { - ret.error = plugin->errorString(); - delete plugin; - return ret; - } - - auto *instance = qobject_cast(plugin->instance()); - if(instance == nullptr) { - ret.error = "Unable to cast"; - delete plugin; - return ret; - } - - m_formats[format] = PluginInfo{ plugin, instance }; - ret.loaded = true; - return ret; - } - - const auto formats() const - { - return m_formats.keys(); - } - - bool addSubscriptions(const QString &filename); - QWebEngineUrlRequestInterceptor *interceptor() - { - return &m_subscriptions; - } - -private: - struct PluginInfo { - QPluginLoader *loader = nullptr; - FilterPlugin *instance = nullptr; - }; - - QHash m_formats; - FilterManager m_subscriptions; -}; - -#endif // SMOLBOTE_SMOLBLOK_HPP -- cgit v1.2.1