diff options
author | Aqua-sama <aqua@iserlohn-fortress.net> | 2018-06-23 12:50:10 +0200 |
---|---|---|
committer | Aqua-sama <aqua@iserlohn-fortress.net> | 2018-06-23 12:50:10 +0200 |
commit | 41329fae5f819eee8c394571125f11f0a0b67cd9 (patch) | |
tree | e8e36f9b8458ee809114714e497c4a43a19949ef /plugins/interfaces.h | |
parent | Add Configuration::setValue and Configuration::setShortcut (diff) | |
download | smolbote-41329fae5f819eee8c394571125f11f0a0b67cd9.tar.xz |
Add ConfigurationEditor plugin
Removed poi-config
Diffstat (limited to 'plugins/interfaces.h')
-rw-r--r-- | plugins/interfaces.h | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/plugins/interfaces.h b/plugins/interfaces.h index 1a12f02..aad43c1 100644 --- a/plugins/interfaces.h +++ b/plugins/interfaces.h @@ -18,6 +18,7 @@ class QString; class QAction; class QDialog; class WebProfile; +class Configuration; struct Plugin { @@ -27,26 +28,37 @@ struct Plugin QObject *instance; }; +typedef QHash<QString, std::function<int()>> CommandHash_t; + class PluginInterface { public: virtual ~PluginInterface() = default; - virtual QHash<QString, std::function<int()>> commands() = 0; + virtual CommandHash_t commands() = 0; + virtual QDialog *createWidget(QWidget *parent = nullptr) = 0; }; class ProfileInterface { public: virtual ~ProfileInterface() = default; - virtual QDialog *createWidget(QWidget *parent = nullptr) = 0; - virtual void registerProfile(WebProfile *profile) = 0; }; +class ConfigurationInterface +{ +public: + virtual ~ConfigurationInterface() = default; + virtual void setConfiguration(Configuration *cfg) = 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) +#define ConfigurationInterfaceIid "net.iserlohn-fortress.smolbote.ConfigurationInterface" +Q_DECLARE_INTERFACE(ConfigurationInterface, ConfigurationInterfaceIid) + #endif // SMOLBOTE_PLUGIN_INTERFACES_H |