comparison OrthancServer/OrthancRestApi/OrthancRestSystem.cpp @ 1632:eb8fbcf008b5

fix build with plugins disabled
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 21 Sep 2015 14:05:06 +0200
parents 0d074f5f6069
children de1413733c97
comparison
equal deleted inserted replaced
1631:0d074f5f6069 1632:eb8fbcf008b5
63 result["Version"] = ORTHANC_VERSION; 63 result["Version"] = ORTHANC_VERSION;
64 64
65 result["StorageAreaPlugin"] = Json::nullValue; 65 result["StorageAreaPlugin"] = Json::nullValue;
66 result["DatabaseBackendPlugin"] = Json::nullValue; 66 result["DatabaseBackendPlugin"] = Json::nullValue;
67 67
68 #if ORTHANC_PLUGINS_ENABLED == 1
69 result["PluginsEnabled"] = true;
68 const OrthancPlugins& plugins = OrthancRestApi::GetContext(call).GetPlugins(); 70 const OrthancPlugins& plugins = OrthancRestApi::GetContext(call).GetPlugins();
69 71
70 if (plugins.HasStorageArea()) 72 if (plugins.HasStorageArea())
71 { 73 {
72 std::string p = plugins.GetStorageAreaLibrary().GetPath(); 74 std::string p = plugins.GetStorageAreaLibrary().GetPath();
76 if (plugins.HasDatabaseBackend()) 78 if (plugins.HasDatabaseBackend())
77 { 79 {
78 std::string p = plugins.GetDatabaseBackendLibrary().GetPath(); 80 std::string p = plugins.GetDatabaseBackendLibrary().GetPath();
79 result["DatabaseBackendPlugin"] = boost::filesystem::canonical(p).string(); 81 result["DatabaseBackendPlugin"] = boost::filesystem::canonical(p).string();
80 } 82 }
83 #else
84 result["PluginsEnabled"] = false;
85 #endif
81 86
82 call.GetOutput().AnswerJson(result); 87 call.GetOutput().AnswerJson(result);
83 } 88 }
84 89
85 static void GetStatistics(RestApiGetCall& call) 90 static void GetStatistics(RestApiGetCall& call)
148 153
149 v.append("explorer.js"); 154 v.append("explorer.js");
150 155
151 if (OrthancRestApi::GetContext(call).HasPlugins()) 156 if (OrthancRestApi::GetContext(call).HasPlugins())
152 { 157 {
158 #if ORTHANC_PLUGINS_ENABLED == 1
153 std::list<std::string> plugins; 159 std::list<std::string> plugins;
154 OrthancRestApi::GetContext(call).GetPlugins().GetManager().ListPlugins(plugins); 160 OrthancRestApi::GetContext(call).GetPlugins().GetManager().ListPlugins(plugins);
155 161
156 for (std::list<std::string>::const_iterator 162 for (std::list<std::string>::const_iterator
157 it = plugins.begin(); it != plugins.end(); ++it) 163 it = plugins.begin(); it != plugins.end(); ++it)
158 { 164 {
159 v.append(*it); 165 v.append(*it);
160 } 166 }
167 #endif
161 } 168 }
162 169
163 call.GetOutput().AnswerJson(v); 170 call.GetOutput().AnswerJson(v);
164 } 171 }
165 172
169 if (!OrthancRestApi::GetContext(call).HasPlugins()) 176 if (!OrthancRestApi::GetContext(call).HasPlugins())
170 { 177 {
171 return; 178 return;
172 } 179 }
173 180
181 #if ORTHANC_PLUGINS_ENABLED == 1
174 const PluginsManager& manager = OrthancRestApi::GetContext(call).GetPlugins().GetManager(); 182 const PluginsManager& manager = OrthancRestApi::GetContext(call).GetPlugins().GetManager();
175 std::string id = call.GetUriComponent("id", ""); 183 std::string id = call.GetUriComponent("id", "");
176 184
177 if (manager.HasPlugin(id)) 185 if (manager.HasPlugin(id))
178 { 186 {
206 c = plugins.GetProperty(id.c_str(), _OrthancPluginProperty_OrthancExplorer); 214 c = plugins.GetProperty(id.c_str(), _OrthancPluginProperty_OrthancExplorer);
207 v["ExtendsOrthancExplorer"] = (c != NULL); 215 v["ExtendsOrthancExplorer"] = (c != NULL);
208 216
209 call.GetOutput().AnswerJson(v); 217 call.GetOutput().AnswerJson(v);
210 } 218 }
219 #endif
211 } 220 }
212 221
213 222
214 static void GetOrthancExplorerPlugins(RestApiGetCall& call) 223 static void GetOrthancExplorerPlugins(RestApiGetCall& call)
215 { 224 {
216 std::string s = "// Extensions to Orthanc Explorer by the registered plugins\n\n"; 225 std::string s = "// Extensions to Orthanc Explorer by the registered plugins\n\n";
217 226
218 if (OrthancRestApi::GetContext(call).HasPlugins()) 227 if (OrthancRestApi::GetContext(call).HasPlugins())
219 { 228 {
229 #if ORTHANC_PLUGINS_ENABLED == 1
220 const OrthancPlugins& plugins = OrthancRestApi::GetContext(call).GetPlugins(); 230 const OrthancPlugins& plugins = OrthancRestApi::GetContext(call).GetPlugins();
221 const PluginsManager& manager = plugins.GetManager(); 231 const PluginsManager& manager = plugins.GetManager();
222 232
223 std::list<std::string> lst; 233 std::list<std::string> lst;
224 manager.ListPlugins(lst); 234 manager.ListPlugins(lst);
231 { 241 {
232 s += "/**\n * From plugin: " + *it + " (version " + manager.GetPluginVersion(*it) + ")\n **/\n\n"; 242 s += "/**\n * From plugin: " + *it + " (version " + manager.GetPluginVersion(*it) + ")\n **/\n\n";
233 s += std::string(tmp) + "\n\n"; 243 s += std::string(tmp) + "\n\n";
234 } 244 }
235 } 245 }
246 #endif
236 } 247 }
237 248
238 call.GetOutput().AnswerBuffer(s, "application/javascript"); 249 call.GetOutput().AnswerBuffer(s, "application/javascript");
239 } 250 }
240 251