comparison OrthancServer/OrthancRestApi/OrthancRestSystem.cpp @ 2940:4767d36679ed

refactoring access to Orthanc configuration
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 29 Nov 2018 11:47:00 +0100
parents 9d277f8ad698
children cb5d75143da0
comparison
equal deleted inserted replaced
2939:577786f59252 2940:4767d36679ed
32 32
33 33
34 #include "../PrecompiledHeadersServer.h" 34 #include "../PrecompiledHeadersServer.h"
35 #include "OrthancRestApi.h" 35 #include "OrthancRestApi.h"
36 36
37 #include "../OrthancInitialization.h" 37 #include "../OrthancConfiguration.h"
38 #include "../../Core/DicomParsing/FromDcmtkBridge.h" 38 #include "../../Core/DicomParsing/FromDcmtkBridge.h"
39 #include "../../Plugins/Engine/PluginsManager.h" 39 #include "../../Plugins/Engine/PluginsManager.h"
40 #include "../../Plugins/Engine/OrthancPlugins.h" 40 #include "../../Plugins/Engine/OrthancPlugins.h"
41 #include "../ServerContext.h" 41 #include "../ServerContext.h"
42 42
53 static void GetSystemInformation(RestApiGetCall& call) 53 static void GetSystemInformation(RestApiGetCall& call)
54 { 54 {
55 Json::Value result = Json::objectValue; 55 Json::Value result = Json::objectValue;
56 56
57 result["ApiVersion"] = ORTHANC_API_VERSION; 57 result["ApiVersion"] = ORTHANC_API_VERSION;
58 result["Version"] = ORTHANC_VERSION;
58 result["DatabaseVersion"] = OrthancRestApi::GetIndex(call).GetDatabaseVersion(); 59 result["DatabaseVersion"] = OrthancRestApi::GetIndex(call).GetDatabaseVersion();
59 result["DicomAet"] = Configuration::GetGlobalStringParameter("DicomAet", "ORTHANC"); 60
60 result["DicomPort"] = Configuration::GetGlobalUnsignedIntegerParameter("DicomPort", 4242); 61 {
61 result["HttpPort"] = Configuration::GetGlobalUnsignedIntegerParameter("HttpPort", 8042); 62 OrthancConfiguration::ReaderLock lock;
62 result["Name"] = Configuration::GetGlobalStringParameter("Name", ""); 63 result["DicomAet"] = lock.GetConfiguration().GetStringParameter("DicomAet", "ORTHANC");
63 result["Version"] = ORTHANC_VERSION; 64 result["DicomPort"] = lock.GetConfiguration().GetUnsignedIntegerParameter("DicomPort", 4242);
65 result["HttpPort"] = lock.GetConfiguration().GetUnsignedIntegerParameter("HttpPort", 8042);
66 result["Name"] = lock.GetConfiguration().GetStringParameter("Name", "");
67 }
64 68
65 result["StorageAreaPlugin"] = Json::nullValue; 69 result["StorageAreaPlugin"] = Json::nullValue;
66 result["DatabaseBackendPlugin"] = Json::nullValue; 70 result["DatabaseBackendPlugin"] = Json::nullValue;
67 71
68 #if ORTHANC_ENABLE_PLUGINS == 1 72 #if ORTHANC_ENABLE_PLUGINS == 1
155 159
156 static void SetDefaultEncoding(RestApiPutCall& call) 160 static void SetDefaultEncoding(RestApiPutCall& call)
157 { 161 {
158 Encoding encoding = StringToEncoding(call.GetBodyData()); 162 Encoding encoding = StringToEncoding(call.GetBodyData());
159 163
160 Configuration::SetDefaultEncoding(encoding); 164 {
165 OrthancConfiguration::WriterLock lock;
166 lock.GetConfiguration().SetDefaultEncoding(encoding);
167 }
161 168
162 call.GetOutput().AnswerBuffer(EnumerationToString(encoding), MimeType_PlainText); 169 call.GetOutput().AnswerBuffer(EnumerationToString(encoding), MimeType_PlainText);
163 } 170 }
164 171
165 172