/* * 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/smolbote.hg * * SPDX-License-Identifier: MIT */ #ifndef INTERFACES_H #define INTERFACES_H #include #include #include class QString; class QAction; class QDialog; class QWebEngineProfile; struct Plugin { std::shared_ptr instance; }; class PluginInterface { public: virtual ~PluginInterface() = default; virtual QHash> commands() = 0; }; class ProfileInterface { public: virtual ~ProfileInterface() = default; virtual QDialog *createWidget(QWebEngineProfile *profile, QWidget *parent) = 0; }; #define PluginInterfaceIid "net.iserlohn-fortress.smolbote.PluginInterface" Q_DECLARE_INTERFACE(PluginInterface, PluginInterfaceIid) #define ProfileInterfaceIid "net.iserlohn-fortress.smolbote.ProfileInterface" Q_DECLARE_INTERFACE(ProfileInterface, ProfileInterfaceIid) #endif //INTERFACES_H