Mercurial > hg > orthanc
diff OrthancServer/Plugins/Samples/Housekeeper/Plugin.cpp @ 4982:40fd2a485a84
fix build for older compilers
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Mon, 25 Apr 2022 18:25:46 +0200 |
parents | d0c34145320c |
children | 8fba26292a9f |
line wrap: on
line diff
--- a/OrthancServer/Plugins/Samples/Housekeeper/Plugin.cpp Mon Apr 25 17:32:58 2022 +0200 +++ b/OrthancServer/Plugins/Samples/Housekeeper/Plugin.cpp Mon Apr 25 18:25:46 2022 +0200 @@ -36,7 +36,7 @@ static int globalPropertyId_ = 0; static bool force_ = false; -static uint throttleDelay_ = 0; +static unsigned int throttleDelay_ = 0; static std::unique_ptr<boost::thread> workerThread_; static bool workerThreadShouldStop_ = false; static bool triggerOnStorageCompressionChange_ = true; @@ -156,7 +156,10 @@ struct DbConfiguration { std::string orthancVersion; - std::map<OrthancPluginResourceType, std::string> mainDicomTagsSignature; + std::string patientsMainDicomTagsSignature; + std::string studiesMainDicomTagsSignature; + std::string seriesMainDicomTagsSignature; + std::string instancesMainDicomTagsSignature; bool storageCompressionEnabled; DbConfiguration() @@ -166,13 +169,16 @@ bool IsDefined() const { - return !orthancVersion.empty() && mainDicomTagsSignature.size() == 4; + return !orthancVersion.empty(); } void Clear() { orthancVersion.clear(); - mainDicomTagsSignature.clear(); + patientsMainDicomTagsSignature.clear(); + studiesMainDicomTagsSignature.clear(); + seriesMainDicomTagsSignature.clear(); + instancesMainDicomTagsSignature.clear(); } void ToJson(Json::Value& target) @@ -188,10 +194,10 @@ target = Json::objectValue; // default main dicom tags signature are the one from Orthanc 1.4.2 (last time the list was changed): - signatures["Patient"] = mainDicomTagsSignature[OrthancPluginResourceType_Patient]; - signatures["Study"] = mainDicomTagsSignature[OrthancPluginResourceType_Study]; - signatures["Series"] = mainDicomTagsSignature[OrthancPluginResourceType_Series]; - signatures["Instance"] = mainDicomTagsSignature[OrthancPluginResourceType_Instance]; + signatures["Patient"] = patientsMainDicomTagsSignature; + signatures["Study"] = studiesMainDicomTagsSignature; + signatures["Series"] = seriesMainDicomTagsSignature; + signatures["Instance"] = instancesMainDicomTagsSignature; target["MainDicomTagsSignature"] = signatures; target["OrthancVersion"] = orthancVersion; @@ -206,10 +212,10 @@ orthancVersion = source["OrthancVersion"].asString(); const Json::Value& signatures = source["MainDicomTagsSignature"]; - mainDicomTagsSignature[OrthancPluginResourceType_Patient] = signatures["Patient"].asString(); - mainDicomTagsSignature[OrthancPluginResourceType_Study] = signatures["Study"].asString(); - mainDicomTagsSignature[OrthancPluginResourceType_Series] = signatures["Series"].asString(); - mainDicomTagsSignature[OrthancPluginResourceType_Instance] = signatures["Instance"].asString(); + patientsMainDicomTagsSignature = signatures["Patient"].asString(); + studiesMainDicomTagsSignature = signatures["Study"].asString(); + seriesMainDicomTagsSignature = signatures["Series"].asString(); + instancesMainDicomTagsSignature = signatures["Instance"].asString(); storageCompressionEnabled = source["StorageCompressionEnabled"].asBool(); } @@ -283,10 +289,10 @@ pluginStatus.currentlyProcessingConfiguration.orthancVersion = "1.9.0"; // when we don't know, we assume some files were stored with Orthanc 1.9.0 (last version saving the dicom-as-json files) // default main dicom tags signature are the one from Orthanc 1.4.2 (last time the list was changed): - pluginStatus.currentlyProcessingConfiguration.mainDicomTagsSignature[OrthancPluginResourceType_Patient] = "0010,0010;0010,0020;0010,0030;0010,0040;0010,1000"; - pluginStatus.currentlyProcessingConfiguration.mainDicomTagsSignature[OrthancPluginResourceType_Study] = "0008,0020;0008,0030;0008,0050;0008,0080;0008,0090;0008,1030;0020,000d;0020,0010;0032,1032;0032,1060"; - pluginStatus.currentlyProcessingConfiguration.mainDicomTagsSignature[OrthancPluginResourceType_Series] = "0008,0021;0008,0031;0008,0060;0008,0070;0008,1010;0008,103e;0008,1070;0018,0010;0018,0015;0018,0024;0018,1030;0018,1090;0018,1400;0020,000e;0020,0011;0020,0037;0020,0105;0020,1002;0040,0254;0054,0081;0054,0101;0054,1000"; - pluginStatus.currentlyProcessingConfiguration.mainDicomTagsSignature[OrthancPluginResourceType_Instance] = "0008,0012;0008,0013;0008,0018;0020,0012;0020,0013;0020,0032;0020,0037;0020,0100;0020,4000;0028,0008;0054,1330"; + pluginStatus.currentlyProcessingConfiguration.patientsMainDicomTagsSignature = "0010,0010;0010,0020;0010,0030;0010,0040;0010,1000"; + pluginStatus.currentlyProcessingConfiguration.studiesMainDicomTagsSignature = "0008,0020;0008,0030;0008,0050;0008,0080;0008,0090;0008,1030;0020,000d;0020,0010;0032,1032;0032,1060"; + pluginStatus.currentlyProcessingConfiguration.seriesMainDicomTagsSignature = "0008,0021;0008,0031;0008,0060;0008,0070;0008,1010;0008,103e;0008,1070;0018,0010;0018,0015;0018,0024;0018,1030;0018,1090;0018,1400;0020,000e;0020,0011;0020,0037;0020,0105;0020,1002;0040,0254;0054,0081;0054,0101;0054,1000"; + pluginStatus.currentlyProcessingConfiguration.instancesMainDicomTagsSignature = "0008,0012;0008,0013;0008,0018;0020,0012;0020,0013;0020,0032;0020,0037;0020,0100;0020,4000;0028,0008;0054,1330"; } } @@ -310,10 +316,10 @@ Json::Value systemInfo; OrthancPlugins::RestApiGet(systemInfo, "/system", false); - configuration.mainDicomTagsSignature[OrthancPluginResourceType_Patient] = systemInfo["MainDicomTags"]["Patient"].asString(); - configuration.mainDicomTagsSignature[OrthancPluginResourceType_Study] = systemInfo["MainDicomTags"]["Study"].asString(); - configuration.mainDicomTagsSignature[OrthancPluginResourceType_Series] = systemInfo["MainDicomTags"]["Series"].asString(); - configuration.mainDicomTagsSignature[OrthancPluginResourceType_Instance] = systemInfo["MainDicomTags"]["Instance"].asString(); + configuration.patientsMainDicomTagsSignature = systemInfo["MainDicomTags"]["Patient"].asString(); + configuration.studiesMainDicomTagsSignature = systemInfo["MainDicomTags"]["Study"].asString(); + configuration.seriesMainDicomTagsSignature = systemInfo["MainDicomTags"]["Series"].asString(); + configuration.instancesMainDicomTagsSignature = systemInfo["MainDicomTags"]["Instance"].asString(); configuration.storageCompressionEnabled = systemInfo["StorageCompression"].asBool(); configuration.orthancVersion = OrthancPlugins::GetGlobalContext()->orthancVersion; @@ -327,8 +333,6 @@ } const char* lastVersion = last.orthancVersion.c_str(); - const std::map<OrthancPluginResourceType, std::string>& lastTags = last.mainDicomTagsSignature; - const std::map<OrthancPluginResourceType, std::string>& currentTags = current.mainDicomTagsSignature; bool needsProcessing = false; if (!OrthancPlugins::CheckMinimalVersion(lastVersion, 1, 9, 1)) @@ -344,7 +348,7 @@ } } - if (lastTags.at(OrthancPluginResourceType_Patient) != currentTags.at(OrthancPluginResourceType_Patient)) + if (last.patientsMainDicomTagsSignature != current.patientsMainDicomTagsSignature) { if (triggerOnMainDicomTagsChange_) { @@ -357,7 +361,7 @@ } } - if (lastTags.at(OrthancPluginResourceType_Study) != currentTags.at(OrthancPluginResourceType_Study)) + if (last.studiesMainDicomTagsSignature != current.studiesMainDicomTagsSignature) { if (triggerOnMainDicomTagsChange_) { @@ -370,7 +374,7 @@ } } - if (lastTags.at(OrthancPluginResourceType_Series) != currentTags.at(OrthancPluginResourceType_Series)) + if (last.seriesMainDicomTagsSignature != current.seriesMainDicomTagsSignature) { if (triggerOnMainDicomTagsChange_) { @@ -383,7 +387,7 @@ } } - if (lastTags.at(OrthancPluginResourceType_Instance) != currentTags.at(OrthancPluginResourceType_Instance)) + if (last.instancesMainDicomTagsSignature != current.instancesMainDicomTagsSignature) { if (triggerOnMainDicomTagsChange_) {