diff Plugins/Engine/OrthancPlugins.cpp @ 2115:a657f7772e69

Handling of private tags/creators in the "Dictionary" configuration option
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 31 Oct 2016 15:23:32 +0100
parents 88831c3edd8f
children 4b02ec79728a
line wrap: on
line diff
--- a/Plugins/Engine/OrthancPlugins.cpp	Thu Oct 27 12:37:30 2016 +0200
+++ b/Plugins/Engine/OrthancPlugins.cpp	Mon Oct 31 15:23:32 2016 +0100
@@ -563,8 +563,8 @@
 
         case _OrthancPluginService_GetFindQueryTagName:
         {
-          const DicomTag& tag = currentQuery_->GetElement(operation.index).GetTag();
-          *operation.resultString = CopyString(FromDcmtkBridge::GetName(tag));
+          const DicomElement& element = currentQuery_->GetElement(operation.index);
+          *operation.resultString = CopyString(FromDcmtkBridge::GetTagName(element));
           break;
         }
 
@@ -2758,7 +2758,17 @@
           *reinterpret_cast<const _OrthancPluginRegisterDictionaryTag*>(parameters);
         FromDcmtkBridge::RegisterDictionaryTag(DicomTag(p.group, p.element),
                                                Plugins::Convert(p.vr), p.name,
-                                               p.minMultiplicity, p.maxMultiplicity);
+                                               p.minMultiplicity, p.maxMultiplicity, "");
+        return true;
+      }
+
+      case _OrthancPluginService_RegisterPrivateDictionaryTag:
+      {
+        const _OrthancPluginRegisterPrivateDictionaryTag& p =
+          *reinterpret_cast<const _OrthancPluginRegisterPrivateDictionaryTag*>(parameters);
+        FromDcmtkBridge::RegisterDictionaryTag(DicomTag(p.group, p.element),
+                                               Plugins::Convert(p.vr), p.name,
+                                               p.minMultiplicity, p.maxMultiplicity, p.privateCreator);
         return true;
       }