diff options
Diffstat (limited to 'plugins/interfaces.h')
-rw-r--r-- | plugins/interfaces.h | 62 |
1 files changed, 0 insertions, 62 deletions
diff --git a/plugins/interfaces.h b/plugins/interfaces.h deleted file mode 100644 index ea8c9d6..0000000 --- a/plugins/interfaces.h +++ /dev/null @@ -1,62 +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://neueland.iserlohn-fortress.net/gitea/aqua/smolbote - * - * SPDX-License-Identifier: MIT - */ - -#ifndef SMOLBOTE_PLUGIN_INTERFACES_H -#define SMOLBOTE_PLUGIN_INTERFACES_H - -#include <QtPlugin> -#include <QKeySequence> -#include <memory> -#include <functional> - -class QString; -class QAction; -class QDialog; -class WebProfile; -class Configuration; - -class ProfileManager; -class BrowserInterface -{ -public: - virtual Configuration *getConfiguration() const = 0; - - virtual QPair<QString, WebProfile *> loadProfile(const QString &id) = 0; - virtual ProfileManager *getProfileManager() = 0; -}; - -struct Plugin -{ - QString name; - QString author; - QKeySequence shortcut; - QObject *instance; -}; - -typedef QHash<QString, std::function<int()>> CommandHash_t; - -class PluginInterface -{ -public: - virtual ~PluginInterface() = default; - virtual CommandHash_t commands() = 0; - virtual QDialog *createWidget(QWidget *parent = nullptr) = 0; - - void setBrowserInterface(BrowserInterface *browser) - { - this->browser = browser; - } - -protected: - BrowserInterface *browser = nullptr; -}; - -#define PluginInterfaceIid "net.iserlohn-fortress.smolbote.PluginInterface" -Q_DECLARE_INTERFACE(PluginInterface, PluginInterfaceIid) - -#endif // SMOLBOTE_PLUGIN_INTERFACES_H |