Mercurial > hg > orthanc
diff OrthancServer/ServerContext.cpp @ 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 | 1169528a9a5f |
children | 32fcc5dc7562 |
line wrap: on
line diff
--- a/OrthancServer/ServerContext.cpp Fri Nov 28 12:39:22 2014 +0100 +++ b/OrthancServer/ServerContext.cpp Thu Dec 04 17:04:40 2014 +0100 @@ -77,7 +77,8 @@ provider_(*this), dicomCache_(provider_, DICOM_CACHE_SIZE), scheduler_(Configuration::GetGlobalIntegerParameter("LimitJobs", 10)), - plugins_(NULL) + plugins_(NULL), + pluginsManager_(NULL) { scu_.SetLocalApplicationEntityTitle(Configuration::GetGlobalStringParameter("DicomAet", "ORTHANC")); //scu_.SetMillisecondsBeforeClose(1); // The connection is always released @@ -536,4 +537,36 @@ } } } + + + bool ServerContext::HasPlugins() const + { + return (pluginsManager_ && plugins_); + } + + + const PluginsManager& ServerContext::GetPluginsManager() const + { + if (HasPlugins()) + { + return *pluginsManager_; + } + else + { + throw OrthancException(ErrorCode_InternalError); + } + } + + + const OrthancPlugins& ServerContext::GetOrthancPlugins() const + { + if (HasPlugins()) + { + return *plugins_; + } + else + { + throw OrthancException(ErrorCode_InternalError); + } + } }