From 3b611f42bf5c233ca66e406474896022b6ed78cc Mon Sep 17 00:00:00 2001 From: Aqua-sama Date: Sat, 25 Aug 2018 20:07:54 +0200 Subject: Add BrowserInterface to simplify plugins a bit --- plugins/interfaces.h | 31 +++++++++++++------------------ 1 file changed, 13 insertions(+), 18 deletions(-) (limited to 'plugins/interfaces.h') diff --git a/plugins/interfaces.h b/plugins/interfaces.h index aad43c1..fc8eac8 100644 --- a/plugins/interfaces.h +++ b/plugins/interfaces.h @@ -20,6 +20,13 @@ class QDialog; class WebProfile; class Configuration; +class BrowserInterface +{ +public: + virtual Configuration *getConfiguration() const = 0; + virtual const QVector profiles() const = 0; +}; + struct Plugin { QString name; @@ -36,29 +43,17 @@ public: virtual ~PluginInterface() = default; virtual CommandHash_t commands() = 0; virtual QDialog *createWidget(QWidget *parent = nullptr) = 0; -}; -class ProfileInterface -{ -public: - virtual ~ProfileInterface() = default; - virtual void registerProfile(WebProfile *profile) = 0; -}; + void setBrowserInterface(BrowserInterface *browser) + { + this->browser = browser; + } -class ConfigurationInterface -{ -public: - virtual ~ConfigurationInterface() = default; - virtual void setConfiguration(Configuration *cfg) = 0; +protected: + BrowserInterface *browser = nullptr; }; #define PluginInterfaceIid "net.iserlohn-fortress.smolbote.PluginInterface" Q_DECLARE_INTERFACE(PluginInterface, PluginInterfaceIid) -#define ProfileInterfaceIid "net.iserlohn-fortress.smolbote.ProfileInterface" -Q_DECLARE_INTERFACE(ProfileInterface, ProfileInterfaceIid) - -#define ConfigurationInterfaceIid "net.iserlohn-fortress.smolbote.ConfigurationInterface" -Q_DECLARE_INTERFACE(ConfigurationInterface, ConfigurationInterfaceIid) - #endif // SMOLBOTE_PLUGIN_INTERFACES_H -- cgit v1.2.1