diff options
author | Tomaz Canabrava <tomaz.canabrava@intel.com> | 2015-10-09 19:18:45 -0300 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2015-10-30 10:36:51 -0700 |
commit | 66d3e99ff2bea172d991ad59db19586ce7bcbed6 (patch) | |
tree | aac0745460bd072a3e9954b20c8e50020c95a8e7 /subsurface-core/pluginmanager.h | |
parent | 1d3bf5f407ab39987b2274c28493220fb363e13f (diff) | |
download | subsurface-66d3e99ff2bea172d991ad59db19586ce7bcbed6.tar.gz |
Add a PluginManager class
This class is currently very small but the reason of existence
is to allow subsurface to be easily extendable via plugins.
The current type of plugin that I'm making is Social Network,
but another possibilities:
- Dive Simulation Algorithm
- Import/Export Filters
- Profile Overlays
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'subsurface-core/pluginmanager.h')
-rw-r--r-- | subsurface-core/pluginmanager.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/subsurface-core/pluginmanager.h b/subsurface-core/pluginmanager.h new file mode 100644 index 000000000..c4943895c --- /dev/null +++ b/subsurface-core/pluginmanager.h @@ -0,0 +1,19 @@ +#ifndef PLUGINMANAGER_H +#define PLUGINMANAGER_H + +#include <QObject> + +#include "isocialnetworkintegration.h" + +class PluginManager { +public: + static PluginManager& instance(); + void loadPlugins(); + QList<ISocialNetworkIntegration*> socialNetworkIntegrationPlugins() const; +private: + PluginManager(); + PluginManager(const PluginManager&) = delete; + PluginManager& operator=(const PluginManager&) = delete; +}; + +#endif
\ No newline at end of file |