Mercurial > hg > orthanc-ohif
comparison Sources/Plugin.cpp @ 2:cbc4be362700
added configuration option "RouterBasename"
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 15 Jun 2023 16:37:05 +0200 |
parents | 39585ba26f20 |
children | fdb8c6c420d0 |
comparison
equal
deleted
inserted
replaced
1:cc0e9401b027 | 2:cbc4be362700 |
---|---|
24 | 24 |
25 #include "../Resources/Orthanc/Plugins/OrthancPluginCppWrapper.h" | 25 #include "../Resources/Orthanc/Plugins/OrthancPluginCppWrapper.h" |
26 | 26 |
27 #include <Logging.h> | 27 #include <Logging.h> |
28 #include <SystemToolbox.h> | 28 #include <SystemToolbox.h> |
29 #include <Toolbox.h> | |
29 | 30 |
30 #include <EmbeddedResources.h> | 31 #include <EmbeddedResources.h> |
31 | 32 |
32 #include <boost/thread/shared_mutex.hpp> | 33 #include <boost/thread/shared_mutex.hpp> |
33 | 34 |
97 } | 98 } |
98 }; | 99 }; |
99 | 100 |
100 | 101 |
101 static ResourcesCache cache_; | 102 static ResourcesCache cache_; |
103 static std::string routerBasename_; | |
102 | 104 |
103 void ServeFile(OrthancPluginRestOutput* output, | 105 void ServeFile(OrthancPluginRestOutput* output, |
104 const char* url, | 106 const char* url, |
105 const OrthancPluginHttpRequest* request) | 107 const OrthancPluginHttpRequest* request) |
106 { | 108 { |
118 { | 120 { |
119 std::string system, user; | 121 std::string system, user; |
120 Orthanc::EmbeddedResources::GetFileResource(system, Orthanc::EmbeddedResources::APP_CONFIG_SYSTEM); | 122 Orthanc::EmbeddedResources::GetFileResource(system, Orthanc::EmbeddedResources::APP_CONFIG_SYSTEM); |
121 Orthanc::EmbeddedResources::GetFileResource(user, Orthanc::EmbeddedResources::APP_CONFIG_USER); | 123 Orthanc::EmbeddedResources::GetFileResource(user, Orthanc::EmbeddedResources::APP_CONFIG_USER); |
122 | 124 |
125 std::map<std::string, std::string> dictionary; | |
126 dictionary["ROUTER_BASENAME"] = routerBasename_; | |
127 | |
128 system = Orthanc::Toolbox::SubstituteVariables(system, dictionary); | |
129 | |
123 std::string s = (user + "\n" + system); | 130 std::string s = (user + "\n" + system); |
124 OrthancPluginAnswerBuffer(context, output, s.c_str(), s.size(), "application/json"); | 131 OrthancPluginAnswerBuffer(context, output, s.c_str(), s.size(), "application/json"); |
125 } | 132 } |
126 else if (uri == "viewer") | 133 else if (uri == "viewer") |
127 { | 134 { |
195 Orthanc::Logging::InitializePluginContext(context); | 202 Orthanc::Logging::InitializePluginContext(context); |
196 #else | 203 #else |
197 Orthanc::Logging::Initialize(context); | 204 Orthanc::Logging::Initialize(context); |
198 #endif | 205 #endif |
199 | 206 |
207 OrthancPlugins::OrthancConfiguration configuration; | |
208 | |
209 { | |
210 OrthancPlugins::OrthancConfiguration globalConfiguration; | |
211 globalConfiguration.GetSection(configuration, "OHIF"); | |
212 } | |
213 | |
214 routerBasename_ = configuration.GetStringValue("RouterBasename", "/ohif"); | |
215 | |
200 OrthancPluginSetDescription(context, "OHIF plugin for Orthanc."); | 216 OrthancPluginSetDescription(context, "OHIF plugin for Orthanc."); |
201 | 217 |
202 OrthancPlugins::RegisterRestCallback<ServeFile>("/ohif/(.*)", true); | 218 OrthancPlugins::RegisterRestCallback<ServeFile>("/ohif/(.*)", true); |
203 | 219 |
204 OrthancPluginRegisterOnChangeCallback(context, OnChangeCallback); | 220 OrthancPluginRegisterOnChangeCallback(context, OnChangeCallback); |
205 | 221 |
206 // Extend the default Orthanc Explorer with custom JavaScript for OHIF | 222 // Extend the default Orthanc Explorer with custom JavaScript for OHIF |
207 std::string explorer; | 223 std::string explorer; |
208 Orthanc::EmbeddedResources::GetFileResource(explorer, Orthanc::EmbeddedResources::ORTHANC_EXPLORER); | 224 Orthanc::EmbeddedResources::GetFileResource(explorer, Orthanc::EmbeddedResources::ORTHANC_EXPLORER); |
209 OrthancPluginExtendOrthancExplorer(context, explorer.c_str()); | 225 OrthancPluginExtendOrthancExplorer(context, explorer.c_str()); |
210 | 226 |