Mercurial > hg > orthanc
diff OrthancServer/ServerContext.h @ 1232:f1c01451a8ee
Introspection of plugins, Plugins can extend Orthanc Explorer with custom JavaScript
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 04 Dec 2014 17:04:40 +0100 |
parents | 5bd4c9f85b4c |
children | 32fcc5dc7562 |
line wrap: on
line diff
--- a/OrthancServer/ServerContext.h Fri Nov 28 12:39:22 2014 +0100 +++ b/OrthancServer/ServerContext.h Thu Dec 04 17:04:40 2014 +0100 @@ -49,6 +49,7 @@ namespace Orthanc { class OrthancPlugins; + class PluginsManager; /** * This class is responsible for maintaining the storage area on the @@ -91,6 +92,7 @@ boost::mutex luaMutex_; LuaContext lua_; OrthancPlugins* plugins_; // TODO Turn it into a listener pattern (idem for Lua callbacks) + const PluginsManager* pluginsManager_; public: class DicomCacheLocker : public boost::noncopyable @@ -195,13 +197,16 @@ return scheduler_; } - void SetOrthancPlugins(OrthancPlugins& plugins) + void SetOrthancPlugins(const PluginsManager& manager, + OrthancPlugins& plugins) { + pluginsManager_ = &manager; plugins_ = &plugins; } void ResetOrthancPlugins() { + pluginsManager_ = NULL; plugins_ = NULL; } @@ -210,5 +215,11 @@ ResourceType expectedType); void SignalChange(const ServerIndexChange& change); + + bool HasPlugins() const; + + const PluginsManager& GetPluginsManager() const; + + const OrthancPlugins& GetOrthancPlugins() const; }; }