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