diff Plugins/Samples/Basic/Plugin.c @ 3205:6c86d4d407da

new in plugin sdk: OrthancPluginEncodeDicomWebJson() and OrthancPluginEncodeDicomWebXml()
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 06 Feb 2019 18:01:43 +0100
parents fca730c267d7
children d9e3d3340918
line wrap: on
line diff
--- a/Plugins/Samples/Basic/Plugin.c	Wed Feb 06 16:46:08 2019 +0100
+++ b/Plugins/Samples/Basic/Plugin.c	Wed Feb 06 18:01:43 2019 +0100
@@ -263,6 +263,21 @@
 }
 
 
+ORTHANC_PLUGINS_API OrthancPluginErrorCode DicomWebBinaryCallback(
+  OrthancPluginDicomWebNode*          node,
+  OrthancPluginDicomWebSetBinaryNode  setter,
+  uint32_t                            levelDepth,
+  const uint16_t*                     levelTagGroup,
+  const uint16_t*                     levelTagElement,
+  const uint32_t*                     levelIndex,
+  uint16_t                            tagGroup,
+  uint16_t                            tagElement,
+  OrthancPluginValueRepresentation    vr)
+{
+  setter(node, OrthancPluginDicomWebBinaryMode_BulkDataUri, "HelloURI");
+}
+
+
 ORTHANC_PLUGINS_API OrthancPluginErrorCode OnStoredCallback(OrthancPluginDicomInstance* instance,
                                                             const char* instanceId)
 {
@@ -286,9 +301,7 @@
   json = OrthancPluginGetInstanceSimplifiedJson(context, instance);
   if (first)
   {
-    /* Only print the first DICOM instance */
     printf("[%s]\n", json);
-    first = 0;
   }
   OrthancPluginFreeString(context, json);
 
@@ -301,6 +314,18 @@
     OrthancPluginLogError(context, "Instance has no reception date, should never happen!");
   }
 
+  json = OrthancPluginEncodeDicomWebXml(context,
+                                         OrthancPluginGetInstanceData(context, instance),
+                                         OrthancPluginGetInstanceSize(context, instance),
+                                         DicomWebBinaryCallback);
+  if (first)
+  {
+    printf("[%s]\n", json);
+    first = 0;    /* Only print the first DICOM instance */
+  }
+  OrthancPluginFreeString(context, json);
+  
+
   return OrthancPluginErrorCode_Success;
 }