/* * 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: MIT */ #ifndef SMOLBOTE_PLUGIN_INTERFACE_HPP #define SMOLBOTE_PLUGIN_INTERFACE_HPP #include #include #include class QWebEngineProfile; class ProfileDialog : public QDialog { public: ProfileDialog(QWidget *parent = nullptr, Qt::WindowFlags f = Qt::WindowFlags()) : QDialog(parent, f) { } virtual ~ProfileDialog() = default; virtual int addProfile(const QString &id, const QString name, QWebEngineProfile *profile, QSettings *settings) = 0; virtual void showProfile(int index) = 0; }; class PluginInterface { public: virtual ~PluginInterface() = default; virtual QDialog *createWidget(QWidget *parent) const = 0; }; #define PluginInterfaceIid "net.iserlohn-fortress.smolbote.PluginInterface" Q_DECLARE_INTERFACE(PluginInterface, PluginInterfaceIid) #endif // SMOLBOTE_PLUGIN_INTERFACE_HPP