/******************************************************************************* ** ** smolbote: yet another qute browser ** Copyright (C) 2017 Xian Nox ** ** This program is free software: you can redistribute it and/or modify ** it under the terms of the GNU General Public License as published by ** the Free Software Foundation, either version 3 of the License, or ** (at your option) any later version. ** ** This program is distributed in the hope that it will be useful, ** but WITHOUT ANY WARRANTY; without even the implied warranty of ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ** GNU General Public License for more details. ** ** You should have received a copy of the GNU General Public License ** along with this program. If not, see . ** ******************************************************************************/ #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