/* * 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: git://neueland.iserlohn-fortress.net/smolbote.git * * SPDX-License-Identifier: GPL-3.0 */ #ifndef INTERFACES_H #define INTERFACES_H #include class QString; class QWidget; class QAction; class PluginInterface { public: virtual QString name() const = 0; }; class GuiInterface { public: // The widget that should be displayed for this plugin virtual QWidget *widget() = 0; // The action that should trigger displaying the widget virtual QAction *action() = 0; }; #define PluginInterface_iid "net.iserlohn-fortress.poi.PluginInterface" Q_DECLARE_INTERFACE(PluginInterface, PluginInterface_iid) #define GuiInterface_iid "net.iserlohn-fortress.poi.GuiInterface" Q_DECLARE_INTERFACE(GuiInterface, GuiInterface_iid) #endif // INTERFACES_H