Mercurial > hg > orthanc
comparison 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 |
comparison
equal
deleted
inserted
replaced
3204:8792867b739a | 3205:6c86d4d407da |
---|---|
261 | 261 |
262 return OrthancPluginErrorCode_Success; | 262 return OrthancPluginErrorCode_Success; |
263 } | 263 } |
264 | 264 |
265 | 265 |
266 ORTHANC_PLUGINS_API OrthancPluginErrorCode DicomWebBinaryCallback( | |
267 OrthancPluginDicomWebNode* node, | |
268 OrthancPluginDicomWebSetBinaryNode setter, | |
269 uint32_t levelDepth, | |
270 const uint16_t* levelTagGroup, | |
271 const uint16_t* levelTagElement, | |
272 const uint32_t* levelIndex, | |
273 uint16_t tagGroup, | |
274 uint16_t tagElement, | |
275 OrthancPluginValueRepresentation vr) | |
276 { | |
277 setter(node, OrthancPluginDicomWebBinaryMode_BulkDataUri, "HelloURI"); | |
278 } | |
279 | |
280 | |
266 ORTHANC_PLUGINS_API OrthancPluginErrorCode OnStoredCallback(OrthancPluginDicomInstance* instance, | 281 ORTHANC_PLUGINS_API OrthancPluginErrorCode OnStoredCallback(OrthancPluginDicomInstance* instance, |
267 const char* instanceId) | 282 const char* instanceId) |
268 { | 283 { |
269 char buffer[256]; | 284 char buffer[256]; |
270 FILE* fp; | 285 FILE* fp; |
284 fclose(fp); | 299 fclose(fp); |
285 | 300 |
286 json = OrthancPluginGetInstanceSimplifiedJson(context, instance); | 301 json = OrthancPluginGetInstanceSimplifiedJson(context, instance); |
287 if (first) | 302 if (first) |
288 { | 303 { |
289 /* Only print the first DICOM instance */ | |
290 printf("[%s]\n", json); | 304 printf("[%s]\n", json); |
291 first = 0; | |
292 } | 305 } |
293 OrthancPluginFreeString(context, json); | 306 OrthancPluginFreeString(context, json); |
294 | 307 |
295 if (OrthancPluginHasInstanceMetadata(context, instance, "ReceptionDate")) | 308 if (OrthancPluginHasInstanceMetadata(context, instance, "ReceptionDate")) |
296 { | 309 { |
298 } | 311 } |
299 else | 312 else |
300 { | 313 { |
301 OrthancPluginLogError(context, "Instance has no reception date, should never happen!"); | 314 OrthancPluginLogError(context, "Instance has no reception date, should never happen!"); |
302 } | 315 } |
316 | |
317 json = OrthancPluginEncodeDicomWebXml(context, | |
318 OrthancPluginGetInstanceData(context, instance), | |
319 OrthancPluginGetInstanceSize(context, instance), | |
320 DicomWebBinaryCallback); | |
321 if (first) | |
322 { | |
323 printf("[%s]\n", json); | |
324 first = 0; /* Only print the first DICOM instance */ | |
325 } | |
326 OrthancPluginFreeString(context, json); | |
327 | |
303 | 328 |
304 return OrthancPluginErrorCode_Success; | 329 return OrthancPluginErrorCode_Success; |
305 } | 330 } |
306 | 331 |
307 | 332 |