110 #define ORTHANC_PLUGINS_API __declspec(dllexport)
112 #define ORTHANC_PLUGINS_API
115 #define ORTHANC_PLUGINS_MINIMAL_MAJOR_NUMBER 1
116 #define ORTHANC_PLUGINS_MINIMAL_MINOR_NUMBER 0
117 #define ORTHANC_PLUGINS_MINIMAL_REVISION_NUMBER 0
135 #ifndef ORTHANC_PLUGIN_INLINE
136 # if __STDC_VERSION__ >= 199901L
138 # define ORTHANC_PLUGIN_INLINE static inline
139 # elif defined(__cplusplus)
141 # define ORTHANC_PLUGIN_INLINE static inline
142 # elif defined(__GNUC__)
144 # define ORTHANC_PLUGIN_INLINE static __inline
145 # elif defined(_MSC_VER)
147 # define ORTHANC_PLUGIN_INLINE static __inline
149 # error Your compiler is not known to support the "inline" keyword
281 _OrthancPluginErrorCode_INTERNAL = 0x7fffffff
289 ORTHANC_PLUGINS_API
const char* OrthancPluginGetName();
302 _OrthancPluginHttpMethod_INTERNAL = 0x7fffffff
378 _OrthancPluginService_LogInfo = 1,
379 _OrthancPluginService_LogWarning = 2,
380 _OrthancPluginService_LogError = 3,
381 _OrthancPluginService_GetOrthancPath = 4,
382 _OrthancPluginService_GetOrthancDirectory = 5,
383 _OrthancPluginService_GetConfigurationPath = 6,
384 _OrthancPluginService_SetPluginProperty = 7,
385 _OrthancPluginService_GetGlobalProperty = 8,
386 _OrthancPluginService_SetGlobalProperty = 9,
387 _OrthancPluginService_GetCommandLineArgumentsCount = 10,
388 _OrthancPluginService_GetCommandLineArgument = 11,
389 _OrthancPluginService_GetExpectedDatabaseVersion = 12,
390 _OrthancPluginService_GetConfiguration = 13,
391 _OrthancPluginService_BufferCompression = 14,
392 _OrthancPluginService_ReadFile = 15,
393 _OrthancPluginService_WriteFile = 16,
394 _OrthancPluginService_GetErrorDescription = 17,
395 _OrthancPluginService_CallHttpClient = 18,
396 _OrthancPluginService_RegisterErrorCode = 19,
397 _OrthancPluginService_RegisterDictionaryTag = 20,
398 _OrthancPluginService_DicomBufferToJson = 21,
399 _OrthancPluginService_DicomInstanceToJson = 22,
400 _OrthancPluginService_CreateDicom = 23,
401 _OrthancPluginService_ComputeMd5 = 24,
402 _OrthancPluginService_ComputeSha1 = 25,
403 _OrthancPluginService_LookupDictionary = 26,
406 _OrthancPluginService_RegisterRestCallback = 1000,
407 _OrthancPluginService_RegisterOnStoredInstanceCallback = 1001,
408 _OrthancPluginService_RegisterStorageArea = 1002,
409 _OrthancPluginService_RegisterOnChangeCallback = 1003,
410 _OrthancPluginService_RegisterRestCallbackNoLock = 1004,
411 _OrthancPluginService_RegisterWorklistCallback = 1005,
412 _OrthancPluginService_RegisterDecodeImageCallback = 1006,
415 _OrthancPluginService_AnswerBuffer = 2000,
416 _OrthancPluginService_CompressAndAnswerPngImage = 2001,
417 _OrthancPluginService_Redirect = 2002,
418 _OrthancPluginService_SendHttpStatusCode = 2003,
419 _OrthancPluginService_SendUnauthorized = 2004,
420 _OrthancPluginService_SendMethodNotAllowed = 2005,
421 _OrthancPluginService_SetCookie = 2006,
422 _OrthancPluginService_SetHttpHeader = 2007,
423 _OrthancPluginService_StartMultipartAnswer = 2008,
424 _OrthancPluginService_SendMultipartItem = 2009,
425 _OrthancPluginService_SendHttpStatus = 2010,
426 _OrthancPluginService_CompressAndAnswerImage = 2011,
427 _OrthancPluginService_SendMultipartItem2 = 2012,
430 _OrthancPluginService_GetDicomForInstance = 3000,
431 _OrthancPluginService_RestApiGet = 3001,
432 _OrthancPluginService_RestApiPost = 3002,
433 _OrthancPluginService_RestApiDelete = 3003,
434 _OrthancPluginService_RestApiPut = 3004,
435 _OrthancPluginService_LookupPatient = 3005,
436 _OrthancPluginService_LookupStudy = 3006,
437 _OrthancPluginService_LookupSeries = 3007,
438 _OrthancPluginService_LookupInstance = 3008,
439 _OrthancPluginService_LookupStudyWithAccessionNumber = 3009,
440 _OrthancPluginService_RestApiGetAfterPlugins = 3010,
441 _OrthancPluginService_RestApiPostAfterPlugins = 3011,
442 _OrthancPluginService_RestApiDeleteAfterPlugins = 3012,
443 _OrthancPluginService_RestApiPutAfterPlugins = 3013,
444 _OrthancPluginService_ReconstructMainDicomTags = 3014,
445 _OrthancPluginService_RestApiGet2 = 3015,
448 _OrthancPluginService_GetInstanceRemoteAet = 4000,
449 _OrthancPluginService_GetInstanceSize = 4001,
450 _OrthancPluginService_GetInstanceData = 4002,
451 _OrthancPluginService_GetInstanceJson = 4003,
452 _OrthancPluginService_GetInstanceSimplifiedJson = 4004,
453 _OrthancPluginService_HasInstanceMetadata = 4005,
454 _OrthancPluginService_GetInstanceMetadata = 4006,
455 _OrthancPluginService_GetInstanceOrigin = 4007,
458 _OrthancPluginService_RegisterDatabaseBackend = 5000,
459 _OrthancPluginService_DatabaseAnswer = 5001,
460 _OrthancPluginService_RegisterDatabaseBackendV2 = 5002,
461 _OrthancPluginService_StorageAreaCreate = 5003,
462 _OrthancPluginService_StorageAreaRead = 5004,
463 _OrthancPluginService_StorageAreaRemove = 5005,
466 _OrthancPluginService_GetImagePixelFormat = 6000,
467 _OrthancPluginService_GetImageWidth = 6001,
468 _OrthancPluginService_GetImageHeight = 6002,
469 _OrthancPluginService_GetImagePitch = 6003,
470 _OrthancPluginService_GetImageBuffer = 6004,
471 _OrthancPluginService_UncompressImage = 6005,
472 _OrthancPluginService_FreeImage = 6006,
473 _OrthancPluginService_CompressImage = 6007,
474 _OrthancPluginService_ConvertPixelFormat = 6008,
475 _OrthancPluginService_GetFontsCount = 6009,
476 _OrthancPluginService_GetFontInfo = 6010,
477 _OrthancPluginService_DrawText = 6011,
478 _OrthancPluginService_CreateImage = 6012,
479 _OrthancPluginService_CreateImageAccessor = 6013,
480 _OrthancPluginService_DecodeDicomImage = 6014,
483 _OrthancPluginService_WorklistAddAnswer = 7000,
484 _OrthancPluginService_WorklistMarkIncomplete = 7001,
485 _OrthancPluginService_WorklistIsMatch = 7002,
486 _OrthancPluginService_WorklistGetDicomQuery = 7003,
488 _OrthancPluginService_INTERNAL = 0x7fffffff
489 } _OrthancPluginService;
494 _OrthancPluginProperty_Description = 1,
495 _OrthancPluginProperty_RootUri = 2,
496 _OrthancPluginProperty_OrthancExplorer = 3,
498 _OrthancPluginProperty_INTERNAL = 0x7fffffff
499 } _OrthancPluginProperty;
551 _OrthancPluginPixelFormat_INTERNAL = 0x7fffffff
565 _OrthancPluginContentType_INTERNAL = 0x7fffffff
581 _OrthancPluginResourceType_INTERNAL = 0x7fffffff
607 _OrthancPluginChangeType_INTERNAL = 0x7fffffff
622 _OrthancPluginCompressionType_INTERNAL = 0x7fffffff
636 _OrthancPluginImageFormat_INTERNAL = 0x7fffffff
674 _OrthancPluginValueRepresentation_INTERNAL = 0x7fffffff
689 _OrthancPluginDicomToJsonFormat_INTERNAL = 0x7fffffff
707 _OrthancPluginDicomToJsonFlags_INTERNAL = 0x7fffffff
721 _OrthancPluginCreateDicomFlags_INTERNAL = 0x7fffffff
736 _OrthancPluginIdentifierConstraint_INTERNAL = 0x7fffffff
751 _OrthancPluginInstanceOrigin_INTERNAL = 0x7fffffff
842 const char* instanceId);
853 const char* resourceId);
865 uint32_t frameIndex);
948 const char* remoteAet,
949 const char* calledAet);
956 typedef struct _OrthancPluginContext_t
958 void* pluginsManager;
959 const char* orthancVersion;
962 _OrthancPluginService service,
1017 int major, minor, revision;
1021 sizeof(int32_t) !=
sizeof(_OrthancPluginService) ||
1022 sizeof(int32_t) !=
sizeof(_OrthancPluginProperty) ||
1041 if (!strcmp(context->orthancVersion,
"mainline"))
1053 (context->orthancVersion,
"%4d.%4d.%4d", &major, &minor, &revision) != 3)
1060 if (major > ORTHANC_PLUGINS_MINIMAL_MAJOR_NUMBER)
1065 if (major < ORTHANC_PLUGINS_MINIMAL_MAJOR_NUMBER)
1072 if (minor > ORTHANC_PLUGINS_MINIMAL_MINOR_NUMBER)
1077 if (minor < ORTHANC_PLUGINS_MINIMAL_MINOR_NUMBER)
1084 if (revision >= ORTHANC_PLUGINS_MINIMAL_REVISION_NUMBER)
1107 context->Free(buffer->
data);
1121 const char* message)
1123 context->InvokeService(context, _OrthancPluginService_LogError, message);
1137 const char* message)
1139 context->InvokeService(context, _OrthancPluginService_LogWarning, message);
1153 const char* message)
1155 context->InvokeService(context, _OrthancPluginService_LogInfo, message);
1162 const char* pathRegularExpression;
1164 } _OrthancPluginRestCallback;
1184 const char* pathRegularExpression,
1187 _OrthancPluginRestCallback params;
1188 params.pathRegularExpression = pathRegularExpression;
1189 params.callback = callback;
1190 context->InvokeService(context, _OrthancPluginService_RegisterRestCallback, ¶ms);
1218 const char* pathRegularExpression,
1221 _OrthancPluginRestCallback params;
1222 params.pathRegularExpression = pathRegularExpression;
1223 params.callback = callback;
1224 context->InvokeService(context, _OrthancPluginService_RegisterRestCallbackNoLock, ¶ms);
1232 } _OrthancPluginOnStoredInstanceCallback;
1248 _OrthancPluginOnStoredInstanceCallback params;
1249 params.callback = callback;
1251 context->InvokeService(context, _OrthancPluginService_RegisterOnStoredInstanceCallback, ¶ms);
1260 uint32_t answerSize;
1261 const char* mimeType;
1262 } _OrthancPluginAnswerBuffer;
1280 uint32_t answerSize,
1281 const char* mimeType)
1283 _OrthancPluginAnswerBuffer params;
1284 params.output = output;
1285 params.answer = answer;
1286 params.answerSize = answerSize;
1287 params.mimeType = mimeType;
1288 context->InvokeService(context, _OrthancPluginService_AnswerBuffer, ¶ms);
1300 } _OrthancPluginCompressAndAnswerPngImage;
1312 } _OrthancPluginCompressAndAnswerImage;
1342 _OrthancPluginCompressAndAnswerImage params;
1343 params.output = output;
1345 params.pixelFormat = format;
1346 params.width = width;
1347 params.height = height;
1348 params.pitch = pitch;
1349 params.buffer = buffer;
1351 context->InvokeService(context, _OrthancPluginService_CompressAndAnswerImage, ¶ms);
1359 const char* instanceId;
1360 } _OrthancPluginGetDicomForInstance;
1377 const char* instanceId)
1379 _OrthancPluginGetDicomForInstance params;
1380 params.target = target;
1381 params.instanceId = instanceId;
1382 return context->InvokeService(context, _OrthancPluginService_GetDicomForInstance, ¶ms);
1391 } _OrthancPluginRestApiGet;
1411 _OrthancPluginRestApiGet params;
1412 params.target = target;
1414 return context->InvokeService(context, _OrthancPluginService_RestApiGet, ¶ms);
1440 _OrthancPluginRestApiGet params;
1441 params.target = target;
1443 return context->InvokeService(context, _OrthancPluginService_RestApiGetAfterPlugins, ¶ms);
1454 } _OrthancPluginRestApiPostPut;
1478 _OrthancPluginRestApiPostPut params;
1479 params.target = target;
1482 params.bodySize = bodySize;
1483 return context->InvokeService(context, _OrthancPluginService_RestApiPost, ¶ms);
1512 _OrthancPluginRestApiPostPut params;
1513 params.target = target;
1516 params.bodySize = bodySize;
1517 return context->InvokeService(context, _OrthancPluginService_RestApiPostAfterPlugins, ¶ms);
1537 return context->InvokeService(context, _OrthancPluginService_RestApiDelete, uri);
1559 return context->InvokeService(context, _OrthancPluginService_RestApiDeleteAfterPlugins, uri);
1586 _OrthancPluginRestApiPostPut params;
1587 params.target = target;
1590 params.bodySize = bodySize;
1591 return context->InvokeService(context, _OrthancPluginService_RestApiPut, ¶ms);
1621 _OrthancPluginRestApiPostPut params;
1622 params.target = target;
1625 params.bodySize = bodySize;
1626 return context->InvokeService(context, _OrthancPluginService_RestApiPutAfterPlugins, ¶ms);
1634 const char* argument;
1635 } _OrthancPluginOutputPlusArgument;
1651 const char* redirection)
1653 _OrthancPluginOutputPlusArgument params;
1654 params.output = output;
1655 params.argument = redirection;
1656 context->InvokeService(context, _OrthancPluginService_Redirect, ¶ms);
1664 const char* argument;
1665 } _OrthancPluginRetrieveDynamicString;
1682 const char* patientID)
1686 _OrthancPluginRetrieveDynamicString params;
1687 params.result = &result;
1688 params.argument = patientID;
1717 const char* studyUID)
1721 _OrthancPluginRetrieveDynamicString params;
1722 params.result = &result;
1723 params.argument = studyUID;
1752 const char* accessionNumber)
1756 _OrthancPluginRetrieveDynamicString params;
1757 params.result = &result;
1758 params.argument = accessionNumber;
1787 const char* seriesUID)
1791 _OrthancPluginRetrieveDynamicString params;
1792 params.result = &result;
1793 params.argument = seriesUID;
1822 const char* sopInstanceUID)
1826 _OrthancPluginRetrieveDynamicString params;
1827 params.result = &result;
1828 params.argument = sopInstanceUID;
1847 } _OrthancPluginSendHttpStatusCode;
1870 _OrthancPluginSendHttpStatusCode params;
1871 params.output = output;
1872 params.status = status;
1873 context->InvokeService(context, _OrthancPluginService_SendHttpStatusCode, ¶ms);
1893 _OrthancPluginOutputPlusArgument params;
1894 params.output = output;
1895 params.argument = realm;
1896 context->InvokeService(context, _OrthancPluginService_SendUnauthorized, ¶ms);
1914 const char* allowedMethods)
1916 _OrthancPluginOutputPlusArgument params;
1917 params.output = output;
1918 params.argument = allowedMethods;
1919 context->InvokeService(context, _OrthancPluginService_SendMethodNotAllowed, ¶ms);
1928 } _OrthancPluginSetHttpHeader;
1947 _OrthancPluginSetHttpHeader params;
1948 params.output = output;
1949 params.key = cookie;
1950 params.value = value;
1951 context->InvokeService(context, _OrthancPluginService_SetCookie, ¶ms);
1972 _OrthancPluginSetHttpHeader params;
1973 params.output = output;
1975 params.value = value;
1976 context->InvokeService(context, _OrthancPluginService_SetHttpHeader, ¶ms);
1982 char** resultStringToFree;
1983 const char** resultString;
1984 int64_t* resultInt64;
1988 } _OrthancPluginAccessDicomInstance;
2008 _OrthancPluginAccessDicomInstance params;
2009 memset(¶ms, 0,
sizeof(params));
2010 params.resultString = &result;
2011 params.instance = instance;
2041 _OrthancPluginAccessDicomInstance params;
2042 memset(¶ms, 0,
sizeof(params));
2043 params.resultInt64 = &size;
2044 params.instance = instance;
2074 _OrthancPluginAccessDicomInstance params;
2075 memset(¶ms, 0,
sizeof(params));
2076 params.resultString = &result;
2077 params.instance = instance;
2110 _OrthancPluginAccessDicomInstance params;
2111 memset(¶ms, 0,
sizeof(params));
2112 params.resultStringToFree = &result;
2113 params.instance = instance;
2148 _OrthancPluginAccessDicomInstance params;
2149 memset(¶ms, 0,
sizeof(params));
2150 params.resultStringToFree = &result;
2151 params.instance = instance;
2184 const char* metadata)
2188 _OrthancPluginAccessDicomInstance params;
2189 memset(¶ms, 0,
sizeof(params));
2190 params.resultInt64 = &result;
2191 params.instance = instance;
2192 params.key = metadata;
2201 return (result != 0);
2222 const char* metadata)
2226 _OrthancPluginAccessDicomInstance params;
2227 memset(¶ms, 0,
sizeof(params));
2228 params.resultString = &result;
2229 params.instance = instance;
2230 params.key = metadata;
2251 } _OrthancPluginRegisterStorageArea;
2273 _OrthancPluginRegisterStorageArea params;
2274 params.create = create;
2276 params.remove =
remove;
2279 params.free = ::free;
2284 context->InvokeService(context, _OrthancPluginService_RegisterStorageArea, ¶ms);
2303 _OrthancPluginRetrieveDynamicString params;
2304 params.result = &result;
2305 params.argument = NULL;
2333 _OrthancPluginRetrieveDynamicString params;
2334 params.result = &result;
2335 params.argument = NULL;
2368 _OrthancPluginRetrieveDynamicString params;
2369 params.result = &result;
2370 params.argument = NULL;
2388 } _OrthancPluginOnChangeCallback;
2410 _OrthancPluginOnChangeCallback params;
2411 params.callback = callback;
2413 context->InvokeService(context, _OrthancPluginService_RegisterOnChangeCallback, ¶ms);
2421 _OrthancPluginProperty property;
2423 } _OrthancPluginSetPluginProperty;
2441 _OrthancPluginSetPluginProperty params;
2442 params.plugin = OrthancPluginGetName();
2443 params.property = _OrthancPluginProperty_RootUri;
2446 context->InvokeService(context, _OrthancPluginService_SetPluginProperty, ¶ms);
2461 const char* description)
2463 _OrthancPluginSetPluginProperty params;
2464 params.plugin = OrthancPluginGetName();
2465 params.property = _OrthancPluginProperty_Description;
2466 params.value = description;
2468 context->InvokeService(context, _OrthancPluginService_SetPluginProperty, ¶ms);
2483 const char* javascript)
2485 _OrthancPluginSetPluginProperty params;
2486 params.plugin = OrthancPluginGetName();
2487 params.property = _OrthancPluginProperty_OrthancExplorer;
2488 params.value = javascript;
2490 context->InvokeService(context, _OrthancPluginService_SetPluginProperty, ¶ms);
2499 } _OrthancPluginGlobalProperty;
2518 const char* defaultValue)
2522 _OrthancPluginGlobalProperty params;
2523 params.result = &result;
2524 params.property = property;
2525 params.value = defaultValue;
2559 _OrthancPluginGlobalProperty params;
2560 params.result = NULL;
2561 params.property = property;
2562 params.value = value;
2564 return context->InvokeService(context, _OrthancPluginService_SetGlobalProperty, ¶ms);
2571 int32_t *resultInt32;
2572 uint32_t *resultUint32;
2573 int64_t *resultInt64;
2574 uint64_t *resultUint64;
2575 } _OrthancPluginReturnSingleValue;
2590 _OrthancPluginReturnSingleValue params;
2591 memset(¶ms, 0,
sizeof(params));
2592 params.resultUint32 = &count;
2625 _OrthancPluginGlobalProperty params;
2626 params.result = &result;
2627 params.property = (int32_t) argument;
2628 params.value = NULL;
2657 _OrthancPluginReturnSingleValue params;
2658 memset(¶ms, 0,
sizeof(params));
2659 params.resultUint32 = &count;
2689 _OrthancPluginRetrieveDynamicString params;
2690 params.result = &result;
2691 params.argument = NULL;
2709 const char* subType;
2710 const char* contentType;
2711 } _OrthancPluginStartMultipartAnswer;
2729 const char* subType,
2730 const char* contentType)
2732 _OrthancPluginStartMultipartAnswer params;
2733 params.output = output;
2734 params.subType = subType;
2735 params.contentType = contentType;
2736 return context->InvokeService(context, _OrthancPluginService_StartMultipartAnswer, ¶ms);
2759 uint32_t answerSize)
2761 _OrthancPluginAnswerBuffer params;
2762 params.output = output;
2763 params.answer = answer;
2764 params.answerSize = answerSize;
2765 params.mimeType = NULL;
2766 return context->InvokeService(context, _OrthancPluginService_SendMultipartItem, ¶ms);
2778 } _OrthancPluginBufferCompression;
2805 _OrthancPluginBufferCompression params;
2806 params.target = target;
2807 params.source = source;
2809 params.compression = compression;
2810 params.uncompress = uncompress;
2812 return context->InvokeService(context, _OrthancPluginService_BufferCompression, ¶ms);
2821 } _OrthancPluginReadFile;
2839 _OrthancPluginReadFile params;
2840 params.target = target;
2842 return context->InvokeService(context, _OrthancPluginService_ReadFile, ¶ms);
2852 } _OrthancPluginWriteFile;
2871 _OrthancPluginWriteFile params;
2875 return context->InvokeService(context, _OrthancPluginService_WriteFile, ¶ms);
2882 const char** target;
2884 } _OrthancPluginGetErrorDescription;
2900 const char* result = NULL;
2902 _OrthancPluginGetErrorDescription params;
2903 params.target = &result;
2904 params.error = error;
2909 return "Unknown error code";
2925 } _OrthancPluginSendHttpStatus;
2956 _OrthancPluginSendHttpStatus params;
2957 params.output = output;
2958 params.status = status;
2960 params.bodySize = bodySize;
2961 context->InvokeService(context, _OrthancPluginService_SendHttpStatus, ¶ms);
2969 uint32_t* resultUint32;
2971 void** resultBuffer;
2972 } _OrthancPluginGetImageInfo;
2991 _OrthancPluginGetImageInfo params;
2992 memset(¶ms, 0,
sizeof(params));
2993 params.image = image;
2994 params.resultPixelFormat = ⌖
3024 _OrthancPluginGetImageInfo params;
3025 memset(¶ms, 0,
sizeof(params));
3026 params.image = image;
3027 params.resultUint32 = &width;
3057 _OrthancPluginGetImageInfo params;
3058 memset(¶ms, 0,
sizeof(params));
3059 params.image = image;
3060 params.resultUint32 = &height;
3092 _OrthancPluginGetImageInfo params;
3093 memset(¶ms, 0,
sizeof(params));
3094 params.image = image;
3095 params.resultUint32 = &pitch;
3124 void* target = NULL;
3126 _OrthancPluginGetImageInfo params;
3127 memset(¶ms, 0,
sizeof(params));
3128 params.resultBuffer = ⌖
3129 params.image = image;
3148 } _OrthancPluginUncompressImage;
3171 _OrthancPluginUncompressImage params;
3172 memset(¶ms, 0,
sizeof(params));
3173 params.target = ⌖
3176 params.format = format;
3194 } _OrthancPluginFreeImage;
3209 _OrthancPluginFreeImage params;
3210 params.image = image;
3212 context->InvokeService(context, _OrthancPluginService_FreeImage, ¶ms);
3228 } _OrthancPluginCompressImage;
3259 _OrthancPluginCompressImage params;
3260 memset(¶ms, 0,
sizeof(params));
3261 params.target = target;
3263 params.pixelFormat = format;
3264 params.width = width;
3265 params.height = height;
3266 params.pitch = pitch;
3267 params.buffer = buffer;
3270 return context->InvokeService(context, _OrthancPluginService_CompressImage, ¶ms);
3305 _OrthancPluginCompressImage params;
3306 memset(¶ms, 0,
sizeof(params));
3307 params.target = target;
3309 params.pixelFormat = format;
3310 params.width = width;
3311 params.height = height;
3312 params.pitch = pitch;
3313 params.buffer = buffer;
3314 params.quality = quality;
3316 return context->InvokeService(context, _OrthancPluginService_CompressImage, ¶ms);
3352 _OrthancPluginCompressAndAnswerImage params;
3353 params.output = output;
3355 params.pixelFormat = format;
3356 params.width = width;
3357 params.height = height;
3358 params.pitch = pitch;
3359 params.buffer = buffer;
3360 params.quality = quality;
3361 context->InvokeService(context, _OrthancPluginService_CompressAndAnswerImage, ¶ms);
3372 const char* username;
3373 const char* password;
3376 } _OrthancPluginCallHttpClient;
3398 const char* username,
3399 const char* password)
3401 _OrthancPluginCallHttpClient params;
3402 memset(¶ms, 0,
sizeof(params));
3404 params.target = target;
3407 params.username = username;
3408 params.password = password;
3410 return context->InvokeService(context, _OrthancPluginService_CallHttpClient, ¶ms);
3437 const char* username,
3438 const char* password)
3440 _OrthancPluginCallHttpClient params;
3441 memset(¶ms, 0,
sizeof(params));
3443 params.target = target;
3447 params.bodySize = bodySize;
3448 params.username = username;
3449 params.password = password;
3451 return context->InvokeService(context, _OrthancPluginService_CallHttpClient, ¶ms);
3478 const char* username,
3479 const char* password)
3481 _OrthancPluginCallHttpClient params;
3482 memset(¶ms, 0,
sizeof(params));
3484 params.target = target;
3488 params.bodySize = bodySize;
3489 params.username = username;
3490 params.password = password;
3492 return context->InvokeService(context, _OrthancPluginService_CallHttpClient, ¶ms);
3512 const char* username,
3513 const char* password)
3515 _OrthancPluginCallHttpClient params;
3516 memset(¶ms, 0,
sizeof(params));
3520 params.username = username;
3521 params.password = password;
3523 return context->InvokeService(context, _OrthancPluginService_CallHttpClient, ¶ms);
3533 } _OrthancPluginConvertPixelFormat;
3554 _OrthancPluginConvertPixelFormat params;
3555 params.target = ⌖
3556 params.source = source;
3557 params.targetFormat = targetFormat;
3587 _OrthancPluginReturnSingleValue params;
3588 memset(¶ms, 0,
sizeof(params));
3589 params.resultUint32 = &count;
3610 } _OrthancPluginGetFontInfo;
3626 const char* result = NULL;
3628 _OrthancPluginGetFontInfo params;
3629 memset(¶ms, 0,
sizeof(params));
3630 params.name = &result;
3631 params.fontIndex = fontIndex;
3660 _OrthancPluginGetFontInfo params;
3661 memset(¶ms, 0,
sizeof(params));
3662 params.size = &result;
3663 params.fontIndex = fontIndex;
3681 const char* utf8Text;
3687 } _OrthancPluginDrawText;
3711 const char* utf8Text,
3718 _OrthancPluginDrawText params;
3719 memset(¶ms, 0,
sizeof(params));
3720 params.image = image;
3721 params.fontIndex = fontIndex;
3722 params.utf8Text = utf8Text;
3729 return context->InvokeService(context, _OrthancPluginService_DrawText, ¶ms);
3738 const void* content;
3741 } _OrthancPluginStorageAreaCreate;
3763 const void* content,
3767 _OrthancPluginStorageAreaCreate params;
3768 params.storageArea = storageArea;
3770 params.content = content;
3774 return context->InvokeService(context, _OrthancPluginService_StorageAreaCreate, ¶ms);
3784 } _OrthancPluginStorageAreaRead;
3808 _OrthancPluginStorageAreaRead params;
3809 params.target = target;
3810 params.storageArea = storageArea;
3814 return context->InvokeService(context, _OrthancPluginService_StorageAreaRead, ¶ms);
3823 } _OrthancPluginStorageAreaRemove;
3844 _OrthancPluginStorageAreaRemove params;
3845 params.storageArea = storageArea;
3849 return context->InvokeService(context, _OrthancPluginService_StorageAreaRemove, ¶ms);
3858 uint16_t httpStatus;
3859 const char* message;
3860 } _OrthancPluginRegisterErrorCode;
3880 uint16_t httpStatus,
3881 const char* message)
3885 _OrthancPluginRegisterErrorCode params;
3886 params.target = ⌖
3888 params.httpStatus = httpStatus;
3889 params.message = message;
3910 uint32_t minMultiplicity;
3911 uint32_t maxMultiplicity;
3912 } _OrthancPluginRegisterDictionaryTag;
3938 uint32_t minMultiplicity,
3939 uint32_t maxMultiplicity)
3941 _OrthancPluginRegisterDictionaryTag params;
3942 params.group = group;
3943 params.element = element;
3946 params.minMultiplicity = minMultiplicity;
3947 params.maxMultiplicity = maxMultiplicity;
3949 return context->InvokeService(context, _OrthancPluginService_RegisterDictionaryTag, ¶ms);
3959 } _OrthancPluginReconstructMainDicomTags;
3982 _OrthancPluginReconstructMainDicomTags params;
3983 params.level = level;
3984 params.storageArea = storageArea;
3986 return context->InvokeService(context, _OrthancPluginService_ReconstructMainDicomTags, ¶ms);
3993 const char* instanceId;
3998 uint32_t maxStringLength;
3999 } _OrthancPluginDicomToJson;
4027 uint32_t maxStringLength)
4031 _OrthancPluginDicomToJson params;
4032 memset(¶ms, 0,
sizeof(params));
4033 params.result = &result;
4034 params.buffer = buffer;
4036 params.format = format;
4037 params.flags = flags;
4038 params.maxStringLength = maxStringLength;
4072 const char* instanceId,
4075 uint32_t maxStringLength)
4079 _OrthancPluginDicomToJson params;
4080 memset(¶ms, 0,
sizeof(params));
4081 params.result = &result;
4082 params.instanceId = instanceId;
4083 params.format = format;
4084 params.flags = flags;
4085 params.maxStringLength = maxStringLength;
4103 uint32_t headersCount;
4104 const char*
const* headersKeys;
4105 const char*
const* headersValues;
4106 int32_t afterPlugins;
4107 } _OrthancPluginRestApiGet2;
4132 uint32_t headersCount,
4133 const char*
const* headersKeys,
4134 const char*
const* headersValues,
4135 int32_t afterPlugins)
4137 _OrthancPluginRestApiGet2 params;
4138 params.target = target;
4140 params.headersCount = headersCount;
4141 params.headersKeys = headersKeys;
4142 params.headersValues = headersValues;
4143 params.afterPlugins = afterPlugins;
4145 return context->InvokeService(context, _OrthancPluginService_RestApiGet2, ¶ms);
4153 } _OrthancPluginWorklistCallback;
4170 _OrthancPluginWorklistCallback params;
4171 params.callback = callback;
4173 return context->InvokeService(context, _OrthancPluginService_RegisterWorklistCallback, ¶ms);
4184 } _OrthancPluginWorklistAnswersOperation;
4208 _OrthancPluginWorklistAnswersOperation params;
4209 params.answers = answers;
4210 params.query = query;
4211 params.dicom = dicom;
4214 return context->InvokeService(context, _OrthancPluginService_WorklistAddAnswer, ¶ms);
4235 _OrthancPluginWorklistAnswersOperation params;
4236 params.answers = answers;
4237 params.query = NULL;
4238 params.dicom = NULL;
4241 return context->InvokeService(context, _OrthancPluginService_WorklistMarkIncomplete, ¶ms);
4252 } _OrthancPluginWorklistQueryOperation;
4275 int32_t isMatch = 0;
4277 _OrthancPluginWorklistQueryOperation params;
4278 params.query = query;
4279 params.dicom = dicom;
4281 params.isMatch = &isMatch;
4282 params.target = NULL;
4313 _OrthancPluginWorklistQueryOperation params;
4314 params.query = query;
4315 params.dicom = NULL;
4317 params.isMatch = NULL;
4318 params.target = target;
4320 return context->InvokeService(context, _OrthancPluginService_WorklistGetDicomQuery, ¶ms);
4340 _OrthancPluginAccessDicomInstance params;
4341 memset(¶ms, 0,
sizeof(params));
4342 params.resultOrigin = &origin;
4343 params.instance = instance;
4363 } _OrthancPluginCreateDicom;
4390 _OrthancPluginCreateDicom params;
4391 params.target = target;
4393 params.pixelData = pixelData;
4394 params.flags = flags;
4396 return context->InvokeService(context, _OrthancPluginService_CreateDicom, ¶ms);
4403 } _OrthancPluginDecodeImageCallback;
4420 _OrthancPluginDecodeImageCallback params;
4421 params.callback = callback;
4423 return context->InvokeService(context, _OrthancPluginService_RegisterDecodeImageCallback, ¶ms);
4436 const void* constBuffer;
4437 uint32_t bufferSize;
4438 uint32_t frameIndex;
4439 } _OrthancPluginCreateImage;
4462 _OrthancPluginCreateImage params;
4463 memset(¶ms, 0,
sizeof(params));
4464 params.target = ⌖
4465 params.format = format;
4466 params.width = width;
4467 params.height = height;
4507 _OrthancPluginCreateImage params;
4508 memset(¶ms, 0,
sizeof(params));
4509 params.target = ⌖
4510 params.format = format;
4511 params.width = width;
4512 params.height = height;
4513 params.pitch = pitch;
4514 params.buffer = buffer;
4545 uint32_t bufferSize,
4546 uint32_t frameIndex)
4550 _OrthancPluginCreateImage params;
4551 memset(¶ms, 0,
sizeof(params));
4552 params.target = ⌖
4553 params.constBuffer = buffer;
4554 params.bufferSize = bufferSize;
4555 params.frameIndex = frameIndex;
4574 } _OrthancPluginComputeHash;
4595 _OrthancPluginComputeHash params;
4596 params.result = &result;
4597 params.buffer = buffer;
4631 _OrthancPluginComputeHash params;
4632 params.result = &result;
4633 params.buffer = buffer;
4653 } _OrthancPluginLookupDictionary;
4675 _OrthancPluginLookupDictionary params;
4676 params.target = target;
4678 return context->InvokeService(context, _OrthancPluginService_LookupDictionary, ¶ms);
4687 uint32_t answerSize;
4688 uint32_t headersCount;
4689 const char*
const* headersKeys;
4690 const char*
const* headersValues;
4691 } _OrthancPluginSendMultipartItem2;
4717 uint32_t answerSize,
4718 uint32_t headersCount,
4719 const char*
const* headersKeys,
4720 const char*
const* headersValues)
4722 _OrthancPluginSendMultipartItem2 params;
4723 params.output = output;
4724 params.answer = answer;
4725 params.answerSize = answerSize;
4726 params.headersCount = headersCount;
4727 params.headersKeys = headersKeys;
4728 params.headersValues = headersValues;
4730 return context->InvokeService(context, _OrthancPluginService_SendMultipartItem2, ¶ms);
Definition: OrthancCPlugin.h:633
const char * OrthancPluginGetInstanceRemoteAet(OrthancPluginContext *context, OrthancPluginDicomInstance *instance)
Get the AET of a DICOM instance.
Definition: OrthancCPlugin.h:2002
int OrthancPluginHasInstanceMetadata(OrthancPluginContext *context, OrthancPluginDicomInstance *instance, const char *metadata)
Check whether a DICOM instance is associated with some metadata.
Definition: OrthancCPlugin.h:2181
OrthancPluginChangeType
Definition: OrthancCPlugin.h:590
void OrthancPluginSendHttpStatusCode(OrthancPluginContext *context, OrthancPluginRestOutput *output, uint16_t status)
Send a HTTP status code.
Definition: OrthancCPlugin.h:1865
void OrthancPluginSetHttpHeader(OrthancPluginContext *context, OrthancPluginRestOutput *output, const char *key, const char *value)
Set some HTTP header.
Definition: OrthancCPlugin.h:1966
OrthancPluginErrorCode OrthancPluginRegisterDecodeImageCallback(OrthancPluginContext *context, OrthancPluginDecodeImageCallback callback)
Register a callback to handle the decoding of DICOM images.
Definition: OrthancCPlugin.h:4416
OrthancPluginErrorCode OrthancPluginWorklistMarkIncomplete(OrthancPluginContext *context, OrthancPluginWorklistAnswers *answers)
Mark the set of worklist answers as incomplete.
Definition: OrthancCPlugin.h:4231
The parameters of a REST request.
Definition: OrthancCPlugin.h:310
void OrthancPluginRedirect(OrthancPluginContext *context, OrthancPluginRestOutput *output, const char *redirection)
Redirect a REST request.
Definition: OrthancCPlugin.h:1648
OrthancPluginErrorCode OrthancPluginRestApiDeleteAfterPlugins(OrthancPluginContext *context, const char *uri)
Make a DELETE call to the REST API, as tainted by the plugins.
Definition: OrthancCPlugin.h:1555
OrthancPluginErrorCode(* OrthancPluginWorklistCallback)(OrthancPluginWorklistAnswers *answers, const OrthancPluginWorklistQuery *query, const char *remoteAet, const char *calledAet)
Callback to handle the C-Find SCP requests received by Orthanc.
Definition: OrthancCPlugin.h:945
const char * OrthancPluginGetInstanceData(OrthancPluginContext *context, OrthancPluginDicomInstance *instance)
Get the data of a DICOM file.
Definition: OrthancCPlugin.h:2068
OrthancPluginErrorCode OrthancPluginCompressPngImage(OrthancPluginContext *context, OrthancPluginMemoryBuffer *target, OrthancPluginPixelFormat format, uint32_t width, uint32_t height, uint32_t pitch, const void *buffer)
Encode a PNG image.
Definition: OrthancCPlugin.h:3250
void OrthancPluginCompressAndAnswerJpegImage(OrthancPluginContext *context, OrthancPluginRestOutput *output, OrthancPluginPixelFormat format, uint32_t width, uint32_t height, uint32_t pitch, const void *buffer, uint8_t quality)
Answer to a REST request with a JPEG image.
Definition: OrthancCPlugin.h:3342
int32_t OrthancPluginWorklistIsMatch(OrthancPluginContext *context, const OrthancPluginWorklistQuery *query, const void *dicom, uint32_t size)
Test whether a worklist matches the query.
Definition: OrthancCPlugin.h:4269
int OrthancPluginCheckVersion(OrthancPluginContext *context)
Check the compatibility of the plugin wrt. the version of its hosting Orthanc.
Definition: OrthancCPlugin.h:1014
int64_t OrthancPluginGetInstanceSize(OrthancPluginContext *context, OrthancPluginDicomInstance *instance)
Get the size of a DICOM file.
Definition: OrthancCPlugin.h:2035
Graylevel, unsigned 16bpp image.
Definition: OrthancCPlugin.h:523
Definition: OrthancCPlugin.h:605
const char *const * headersValues
The values of the HTTP headers.
Definition: OrthancCPlugin.h:370
const char *const * headersKeys
The keys of the HTTP headers (always converted to low-case).
Definition: OrthancCPlugin.h:365
OrthancPluginPixelFormat
Definition: OrthancCPlugin.h:507
uint32_t getCount
For a GET request, the number of GET parameters.
Definition: OrthancCPlugin.h:330
Definition: OrthancCPlugin.h:549
void OrthancPluginRegisterStorageArea(OrthancPluginContext *context, OrthancPluginStorageCreate create, OrthancPluginStorageRead read, OrthancPluginStorageRemove remove)
Register a custom storage area.
Definition: OrthancCPlugin.h:2267
OrthancPluginErrorCode OrthancPluginGetDicomForInstance(OrthancPluginContext *context, OrthancPluginMemoryBuffer *target, const char *instanceId)
Retrieve a DICOM instance using its Orthanc identifier.
Definition: OrthancCPlugin.h:1374
OrthancPluginImageFormat
Definition: OrthancCPlugin.h:630
const char * OrthancPluginGetFontName(OrthancPluginContext *context, uint32_t fontIndex)
Return the name of a font.
Definition: OrthancCPlugin.h:3622
OrthancPluginImage * OrthancPluginConvertPixelFormat(OrthancPluginContext *context, const OrthancPluginImage *source, OrthancPluginPixelFormat targetFormat)
Change the pixel format of an image.
Definition: OrthancCPlugin.h:3547
Definition: OrthancCPlugin.h:599
OrthancPluginErrorCode OrthancPluginStorageAreaRead(OrthancPluginContext *context, OrthancPluginMemoryBuffer *target, OrthancPluginStorageArea *storageArea, const char *uuid, OrthancPluginContentType type)
Read a file from the storage area.
Definition: OrthancCPlugin.h:3801
uint32_t OrthancPluginGetFontsCount(OrthancPluginContext *context)
Return the number of available fonts.
Definition: OrthancCPlugin.h:3582
void OrthancPluginRegisterOnChangeCallback(OrthancPluginContext *context, OrthancPluginOnChangeCallback callback)
Register a callback to monitor changes.
Definition: OrthancCPlugin.h:2406
Color image in RGBA32 format.
Definition: OrthancCPlugin.h:547
OrthancPluginErrorCode OrthancPluginWorklistAddAnswer(OrthancPluginContext *context, OrthancPluginWorklistAnswers *answers, const OrthancPluginWorklistQuery *query, const void *dicom, uint32_t size)
Add one answer to some modality worklist request.
Definition: OrthancCPlugin.h:4201
void OrthancPluginSendMethodNotAllowed(OrthancPluginContext *context, OrthancPluginRestOutput *output, const char *allowedMethods)
Signal that this URI does not support this HTTP method.
Definition: OrthancCPlugin.h:1911
Definition: OrthancCPlugin.h:617
void OrthancPluginAnswerBuffer(OrthancPluginContext *context, OrthancPluginRestOutput *output, const char *answer, uint32_t answerSize, const char *mimeType)
Answer to a REST request.
Definition: OrthancCPlugin.h:1276
Definition: OrthancCPlugin.h:593
OrthancPluginErrorCode OrthancPluginRegisterWorklistCallback(OrthancPluginContext *context, OrthancPluginWorklistCallback callback)
Register a callback to handle modality worklists requests.
Definition: OrthancCPlugin.h:4166
OrthancPluginImage * OrthancPluginDecodeDicomImage(OrthancPluginContext *context, const void *buffer, uint32_t bufferSize, uint32_t frameIndex)
Decode one frame from a DICOM instance.
Definition: OrthancCPlugin.h:4542
uint16_t group
Definition: OrthancCPlugin.h:973
void * OrthancPluginGetImageBuffer(OrthancPluginContext *context, const OrthancPluginImage *image)
Return a pointer to the content of an image.
Definition: OrthancCPlugin.h:3120
uint32_t minMultiplicity
Definition: OrthancCPlugin.h:976
const char * OrthancPluginGetInstanceMetadata(OrthancPluginContext *context, OrthancPluginDicomInstance *instance, const char *metadata)
Get the value of some metadata associated with a given DICOM instance.
Definition: OrthancCPlugin.h:2219
Definition: OrthancCPlugin.h:632
struct _OrthancPluginStorageArea_t OrthancPluginStorageArea
Opaque structure that represents the storage area that is actually used by Orthanc.
Definition: OrthancCPlugin.h:805
Definition: OrthancCPlugin.h:597
OrthancPluginErrorCode OrthancPluginRestApiPutAfterPlugins(OrthancPluginContext *context, OrthancPluginMemoryBuffer *target, const char *uri, const char *body, uint32_t bodySize)
Make a PUT call to the REST API, as tainted by the plugins.
Definition: OrthancCPlugin.h:1614
uint32_t OrthancPluginGetExpectedDatabaseVersion(OrthancPluginContext *context)
Get the expected version of the database schema.
Definition: OrthancCPlugin.h:2652
Graylevel 8bpp image.
Definition: OrthancCPlugin.h:515
uint32_t OrthancPluginGetImageHeight(OrthancPluginContext *context, const OrthancPluginImage *image)
Return the height of an image.
Definition: OrthancCPlugin.h:3051
void OrthancPluginSendHttpStatus(OrthancPluginContext *context, OrthancPluginRestOutput *output, uint16_t status, const char *body, uint32_t bodySize)
Send a HTTP status, with a custom body.
Definition: OrthancCPlugin.h:2949
OrthancPluginImage * OrthancPluginUncompressImage(OrthancPluginContext *context, const void *data, uint32_t size, OrthancPluginImageFormat format)
Decode a compressed image.
Definition: OrthancCPlugin.h:3163
OrthancPluginErrorCode(* OrthancPluginRestCallback)(OrthancPluginRestOutput *output, const char *url, const OrthancPluginHttpRequest *request)
Signature of a callback function that answers to a REST request.
Definition: OrthancCPlugin.h:829
Definition: OrthancCPlugin.h:618
Definition: OrthancCPlugin.h:620
Color image in RGB24 format.
Definition: OrthancCPlugin.h:539
Graylevel, signed 16bpp image.
Definition: OrthancCPlugin.h:531
An entry in the dictionary of DICOM tags.
Definition: OrthancCPlugin.h:971
Definition: OrthancCPlugin.h:592
OrthancPluginCompressionType
Definition: OrthancCPlugin.h:615
OrthancPluginErrorCode OrthancPluginRestApiGet2(OrthancPluginContext *context, OrthancPluginMemoryBuffer *target, const char *uri, uint32_t headersCount, const char *const *headersKeys, const char *const *headersValues, int32_t afterPlugins)
Make a GET call to the Orthanc REST API, with custom HTTP headers.
Definition: OrthancCPlugin.h:4128
OrthancPluginPixelFormat OrthancPluginGetImagePixelFormat(OrthancPluginContext *context, const OrthancPluginImage *image)
Return the pixel format of an image.
Definition: OrthancCPlugin.h:2985
OrthancPluginErrorCode OrthancPluginDrawText(OrthancPluginContext *context, OrthancPluginImage *image, uint32_t fontIndex, const char *utf8Text, int32_t x, int32_t y, uint8_t r, uint8_t g, uint8_t b)
Draw text on an image.
Definition: OrthancCPlugin.h:3707
uint32_t OrthancPluginGetImagePitch(OrthancPluginContext *context, const OrthancPluginImage *image)
Return the pitch of an image.
Definition: OrthancCPlugin.h:3086
void OrthancPluginCompressAndAnswerPngImage(OrthancPluginContext *context, OrthancPluginRestOutput *output, OrthancPluginPixelFormat format, uint32_t width, uint32_t height, uint32_t pitch, const void *buffer)
Answer to a REST request with a PNG image.
Definition: OrthancCPlugin.h:1333
uint32_t maxMultiplicity
Definition: OrthancCPlugin.h:977
OrthancPluginErrorCode(* OrthancPluginDecodeImageCallback)(OrthancPluginImage **target, const void *dicom, const uint32_t size, uint32_t frameIndex)
Signature of a callback function to decode a DICOM instance as an image.
Definition: OrthancCPlugin.h:861
void OrthancPluginSendUnauthorized(OrthancPluginContext *context, OrthancPluginRestOutput *output, const char *realm)
Signal that a REST request is not authorized.
Definition: OrthancCPlugin.h:1888
void * data
The content of the buffer.
Definition: OrthancCPlugin.h:767
uint32_t OrthancPluginGetFontSize(OrthancPluginContext *context, uint32_t fontIndex)
Return the size of a font.
Definition: OrthancCPlugin.h:3654
OrthancPluginErrorCode OrthancPluginRestApiGet(OrthancPluginContext *context, OrthancPluginMemoryBuffer *target, const char *uri)
Make a GET call to the built-in Orthanc REST API.
Definition: OrthancCPlugin.h:1406
uint32_t headersCount
The number of HTTP headers.
Definition: OrthancCPlugin.h:360
Definition: OrthancCPlugin.h:598
OrthancPluginErrorCode(* OrthancPluginStorageCreate)(const char *uuid, const void *content, int64_t size, OrthancPluginContentType type)
Callback for writing to the storage area.
Definition: OrthancCPlugin.h:888
OrthancPluginErrorCode OrthancPluginRestApiDelete(OrthancPluginContext *context, const char *uri)
Make a DELETE call to the built-in Orthanc REST API.
Definition: OrthancCPlugin.h:1533
OrthancPluginImage * OrthancPluginCreateImage(OrthancPluginContext *context, OrthancPluginPixelFormat format, uint32_t width, uint32_t height)
Create an image.
Definition: OrthancCPlugin.h:4454
char * OrthancPluginGetGlobalProperty(OrthancPluginContext *context, int32_t property, const char *defaultValue)
Get the value of a global property.
Definition: OrthancCPlugin.h:2515
OrthancPluginErrorCode OrthancPluginSendMultipartItem2(OrthancPluginContext *context, OrthancPluginRestOutput *output, const char *answer, uint32_t answerSize, uint32_t headersCount, const char *const *headersKeys, const char *const *headersValues)
Send an item as a part of some HTTP multipart answer, with custom headers.
Definition: OrthancCPlugin.h:4713
OrthancPluginErrorCode(* OrthancPluginStorageRemove)(const char *uuid, OrthancPluginContentType type)
Callback for removing a file from the storage area.
Definition: OrthancCPlugin.h:926
Definition: OrthancCPlugin.h:600
OrthancPluginErrorCode OrthancPluginReconstructMainDicomTags(OrthancPluginContext *context, OrthancPluginStorageArea *storageArea, OrthancPluginResourceType level)
Reconstruct the main DICOM tags.
Definition: OrthancCPlugin.h:3977
OrthancPluginImage * OrthancPluginCreateImageAccessor(OrthancPluginContext *context, OrthancPluginPixelFormat format, uint32_t width, uint32_t height, uint32_t pitch, void *buffer)
Create an image pointing to a memory buffer.
Definition: OrthancCPlugin.h:4497
const char *const * getValues
For a GET request, the values of the GET parameters.
Definition: OrthancCPlugin.h:340
OrthancPluginErrorCode(* OrthancPluginOnChangeCallback)(OrthancPluginChangeType changeType, OrthancPluginResourceType resourceType, const char *resourceId)
Signature of a callback function that is triggered when a change happens to some DICOM resource...
Definition: OrthancCPlugin.h:850
char * OrthancPluginGetInstanceSimplifiedJson(OrthancPluginContext *context, OrthancPluginDicomInstance *instance)
Get the DICOM tag hierarchy as a JSON file (with simplification).
Definition: OrthancCPlugin.h:2142
OrthancPluginErrorCode OrthancPluginBufferCompression(OrthancPluginContext *context, OrthancPluginMemoryBuffer *target, const void *source, uint32_t size, OrthancPluginCompressionType compression, uint8_t uncompress)
Compress or decompress a buffer.
Definition: OrthancCPlugin.h:2797
Definition: OrthancCPlugin.h:634
const char * body
For a PUT or POST request, the content of the body.
Definition: OrthancCPlugin.h:345
void OrthancPluginRegisterRestCallbackNoLock(OrthancPluginContext *context, const char *pathRegularExpression, OrthancPluginRestCallback callback)
Register a REST callback, without locking.
Definition: OrthancCPlugin.h:1216
Definition: OrthancCPlugin.h:603
struct _OrthancPluginImage_t OrthancPluginImage
Opaque structure that represents an image that is uncompressed in memory.
Definition: OrthancCPlugin.h:797
OrthancPluginErrorCode OrthancPluginRestApiPut(OrthancPluginContext *context, OrthancPluginMemoryBuffer *target, const char *uri, const char *body, uint32_t bodySize)
Make a PUT call to the built-in Orthanc REST API.
Definition: OrthancCPlugin.h:1579
OrthancPluginErrorCode OrthancPluginStartMultipartAnswer(OrthancPluginContext *context, OrthancPluginRestOutput *output, const char *subType, const char *contentType)
Start an HTTP multipart answer.
Definition: OrthancCPlugin.h:2726
OrthancPluginErrorCode OrthancPluginStorageAreaRemove(OrthancPluginContext *context, OrthancPluginStorageArea *storageArea, const char *uuid, OrthancPluginContentType type)
Remove a file from the storage area.
Definition: OrthancCPlugin.h:3838
Definition: OrthancCPlugin.h:604
const char *const * getKeys
For a GET request, the keys of the GET parameters.
Definition: OrthancCPlugin.h:335
Definition: OrthancCPlugin.h:595
char * OrthancPluginLookupPatient(OrthancPluginContext *context, const char *patientID)
Look for a patient.
Definition: OrthancCPlugin.h:1680
OrthancPluginInstanceOrigin OrthancPluginGetInstanceOrigin(OrthancPluginContext *context, OrthancPluginDicomInstance *instance)
Get the origin of a DICOM file.
Definition: OrthancCPlugin.h:4334
void OrthancPluginFreeImage(OrthancPluginContext *context, OrthancPluginImage *image)
Free an image.
Definition: OrthancCPlugin.h:3205
OrthancPluginValueRepresentation vr
Definition: OrthancCPlugin.h:975
uint16_t element
Definition: OrthancCPlugin.h:974
char * OrthancPluginLookupInstance(OrthancPluginContext *context, const char *sopInstanceUID)
Look for an instance.
Definition: OrthancCPlugin.h:1820
Definition: OrthancCPlugin.h:602
OrthancPluginErrorCode OrthancPluginSetGlobalProperty(OrthancPluginContext *context, int32_t property, const char *value)
Set the value of a global property.
Definition: OrthancCPlugin.h:2554
OrthancPluginErrorCode OrthancPluginSendMultipartItem(OrthancPluginContext *context, OrthancPluginRestOutput *output, const char *answer, uint32_t answerSize)
Send an item as a part of some HTTP multipart answer.
Definition: OrthancCPlugin.h:2755
struct _OrthancPluginWorklistQuery_t OrthancPluginWorklistQuery
Opaque structure to an object that represents a C-Find query.
Definition: OrthancCPlugin.h:813
const char *const * groups
The matched values for the groups of the regular expression.
Definition: OrthancCPlugin.h:325
OrthancPluginErrorCode(* OrthancPluginStorageRead)(void **content, int64_t *size, const char *uuid, OrthancPluginContentType type)
Callback for reading from the storage area.
Definition: OrthancCPlugin.h:908
char * OrthancPluginLookupStudy(OrthancPluginContext *context, const char *studyUID)
Look for a study.
Definition: OrthancCPlugin.h:1715
uint32_t size
The number of bytes in the buffer.
Definition: OrthancCPlugin.h:772
uint32_t groupsCount
The number of groups of the regular expression.
Definition: OrthancCPlugin.h:320
uint32_t bodySize
For a PUT or POST request, the number of bytes of the body.
Definition: OrthancCPlugin.h:350
struct _OrthancPluginWorklistAnswers_t OrthancPluginWorklistAnswers
Opaque structure to an object that represents the answers to a C-Find query.
Definition: OrthancCPlugin.h:821
void OrthancPluginSetCookie(OrthancPluginContext *context, OrthancPluginRestOutput *output, const char *cookie, const char *value)
Set a cookie.
Definition: OrthancCPlugin.h:1941
Definition: OrthancCPlugin.h:594
char * OrthancPluginGetInstanceJson(OrthancPluginContext *context, OrthancPluginDicomInstance *instance)
Get the DICOM tag hierarchy as a JSON file.
Definition: OrthancCPlugin.h:2104
OrthancPluginErrorCode OrthancPluginRestApiPost(OrthancPluginContext *context, OrthancPluginMemoryBuffer *target, const char *uri, const char *body, uint32_t bodySize)
Make a POST call to the built-in Orthanc REST API.
Definition: OrthancCPlugin.h:1471
void OrthancPluginRegisterOnStoredInstanceCallback(OrthancPluginContext *context, OrthancPluginOnStoredInstanceCallback callback)
Register a callback for received instances.
Definition: OrthancCPlugin.h:1244
Definition: OrthancCPlugin.h:596
void OrthancPluginRegisterRestCallback(OrthancPluginContext *context, const char *pathRegularExpression, OrthancPluginRestCallback callback)
Register a REST callback.
Definition: OrthancCPlugin.h:1182
char * OrthancPluginLookupStudyWithAccessionNumber(OrthancPluginContext *context, const char *accessionNumber)
Look for a study, using the accession number.
Definition: OrthancCPlugin.h:1750
OrthancPluginErrorCode OrthancPluginRestApiGetAfterPlugins(OrthancPluginContext *context, OrthancPluginMemoryBuffer *target, const char *uri)
Make a GET call to the REST API, as tainted by the plugins.
Definition: OrthancCPlugin.h:1435
OrthancPluginErrorCode(* OrthancPluginOnStoredInstanceCallback)(OrthancPluginDicomInstance *instance, const char *instanceId)
Signature of a callback function that is triggered when Orthanc receives a DICOM instance.
Definition: OrthancCPlugin.h:840
OrthancPluginErrorCode OrthancPluginRestApiPostAfterPlugins(OrthancPluginContext *context, OrthancPluginMemoryBuffer *target, const char *uri, const char *body, uint32_t bodySize)
Make a POST call to the REST API, as tainted by the plugins.
Definition: OrthancCPlugin.h:1505
Definition: OrthancCPlugin.h:601
Definition: OrthancCPlugin.h:619
OrthancPluginHttpMethod method
The HTTP method.
Definition: OrthancCPlugin.h:315
OrthancPluginErrorCode OrthancPluginStorageAreaCreate(OrthancPluginContext *context, OrthancPluginStorageArea *storageArea, const char *uuid, const void *content, uint64_t size, OrthancPluginContentType type)
Create a file inside the storage area.
Definition: OrthancCPlugin.h:3759
A memory buffer allocated by the core system of Orthanc.
Definition: OrthancCPlugin.h:762
char * OrthancPluginLookupSeries(OrthancPluginContext *context, const char *seriesUID)
Look for a series.
Definition: OrthancCPlugin.h:1785
uint32_t OrthancPluginGetImageWidth(OrthancPluginContext *context, const OrthancPluginImage *image)
Return the width of an image.
Definition: OrthancCPlugin.h:3018
OrthancPluginErrorCode OrthancPluginCompressJpegImage(OrthancPluginContext *context, OrthancPluginMemoryBuffer *target, OrthancPluginPixelFormat format, uint32_t width, uint32_t height, uint32_t pitch, const void *buffer, uint8_t quality)
Encode a JPEG image.
Definition: OrthancCPlugin.h:3295
OrthancPluginErrorCode OrthancPluginWorklistGetDicomQuery(OrthancPluginContext *context, OrthancPluginMemoryBuffer *target, const OrthancPluginWorklistQuery *query)
Retrieve the worklist query as a DICOM file.
Definition: OrthancCPlugin.h:4308