Mercurial > hg > orthanc
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; }