86 #define ORTHANC_PLUGINS_API __declspec(dllexport)
88 #define ORTHANC_PLUGINS_API
91 #define ORTHANC_PLUGINS_MINIMAL_MAJOR_NUMBER 0
92 #define ORTHANC_PLUGINS_MINIMAL_MINOR_NUMBER 8
93 #define ORTHANC_PLUGINS_MINIMAL_REVISION_NUMBER 6
111 #ifndef ORTHANC_PLUGIN_INLINE
112 # if __STDC_VERSION__ >= 199901L
114 # define ORTHANC_PLUGIN_INLINE static inline
115 # elif defined(__cplusplus)
117 # define ORTHANC_PLUGIN_INLINE static inline
118 # elif defined(__GNUC__)
120 # define ORTHANC_PLUGIN_INLINE static __inline
121 # elif defined(_MSC_VER)
123 # define ORTHANC_PLUGIN_INLINE static __inline
125 # error Your compiler is not known to support the "inline" keyword
159 ORTHANC_PLUGINS_API
const char* OrthancPluginGetName();
245 _OrthancPluginService_LogInfo = 1,
246 _OrthancPluginService_LogWarning = 2,
247 _OrthancPluginService_LogError = 3,
248 _OrthancPluginService_GetOrthancPath = 4,
249 _OrthancPluginService_GetOrthancDirectory = 5,
250 _OrthancPluginService_GetConfigurationPath = 6,
251 _OrthancPluginService_SetPluginProperty = 7,
252 _OrthancPluginService_GetGlobalProperty = 8,
253 _OrthancPluginService_SetGlobalProperty = 9,
254 _OrthancPluginService_GetCommandLineArgumentsCount = 10,
255 _OrthancPluginService_GetCommandLineArgument = 11,
258 _OrthancPluginService_RegisterRestCallback = 1000,
259 _OrthancPluginService_RegisterOnStoredInstanceCallback = 1001,
260 _OrthancPluginService_RegisterStorageArea = 1002,
261 _OrthancPluginService_RegisterOnChangeCallback = 1003,
264 _OrthancPluginService_AnswerBuffer = 2000,
265 _OrthancPluginService_CompressAndAnswerPngImage = 2001,
266 _OrthancPluginService_Redirect = 2002,
267 _OrthancPluginService_SendHttpStatusCode = 2003,
268 _OrthancPluginService_SendUnauthorized = 2004,
269 _OrthancPluginService_SendMethodNotAllowed = 2005,
270 _OrthancPluginService_SetCookie = 2006,
271 _OrthancPluginService_SetHttpHeader = 2007,
274 _OrthancPluginService_GetDicomForInstance = 3000,
275 _OrthancPluginService_RestApiGet = 3001,
276 _OrthancPluginService_RestApiPost = 3002,
277 _OrthancPluginService_RestApiDelete = 3003,
278 _OrthancPluginService_RestApiPut = 3004,
279 _OrthancPluginService_LookupPatient = 3005,
280 _OrthancPluginService_LookupStudy = 3006,
281 _OrthancPluginService_LookupSeries = 3007,
282 _OrthancPluginService_LookupInstance = 3008,
283 _OrthancPluginService_LookupStudyWithAccessionNumber = 3009,
284 _OrthancPluginService_RestApiGetAfterPlugins = 3010,
285 _OrthancPluginService_RestApiPostAfterPlugins = 3011,
286 _OrthancPluginService_RestApiDeleteAfterPlugins = 3012,
287 _OrthancPluginService_RestApiPutAfterPlugins = 3013,
290 _OrthancPluginService_GetInstanceRemoteAet = 4000,
291 _OrthancPluginService_GetInstanceSize = 4001,
292 _OrthancPluginService_GetInstanceData = 4002,
293 _OrthancPluginService_GetInstanceJson = 4003,
294 _OrthancPluginService_GetInstanceSimplifiedJson = 4004,
295 _OrthancPluginService_HasInstanceMetadata = 4005,
296 _OrthancPluginService_GetInstanceMetadata = 4006,
299 _OrthancPluginService_RegisterDatabaseBackend = 5000,
300 _OrthancPluginService_DatabaseAnswer = 5001
302 } _OrthancPluginService;
307 _OrthancPluginProperty_Description = 1,
308 _OrthancPluginProperty_RootUri = 2,
309 _OrthancPluginProperty_OrthancExplorer = 3
310 } _OrthancPluginProperty;
458 const char* instanceId);
468 const char* resourceId);
535 typedef struct _OrthancPluginContext_t
537 void* pluginsManager;
538 const char* orthancVersion;
540 int32_t (*InvokeService) (
struct _OrthancPluginContext_t* context,
541 _OrthancPluginService service,
581 int major, minor, revision;
584 if (!strcmp(context->orthancVersion,
"mainline"))
596 (context->orthancVersion,
"%4d.%4d.%4d", &major, &minor, &revision) != 3)
603 if (major > ORTHANC_PLUGINS_MINIMAL_MAJOR_NUMBER)
608 if (major < ORTHANC_PLUGINS_MINIMAL_MAJOR_NUMBER)
615 if (minor > ORTHANC_PLUGINS_MINIMAL_MINOR_NUMBER)
620 if (minor < ORTHANC_PLUGINS_MINIMAL_MINOR_NUMBER)
627 if (revision >= ORTHANC_PLUGINS_MINIMAL_REVISION_NUMBER)
650 context->Free(buffer->
data);
666 context->InvokeService(context, _OrthancPluginService_LogError, message);
682 context->InvokeService(context, _OrthancPluginService_LogWarning, message);
698 context->InvokeService(context, _OrthancPluginService_LogInfo, message);
705 const char* pathRegularExpression;
707 } _OrthancPluginRestCallback;
723 const char* pathRegularExpression,
726 _OrthancPluginRestCallback params;
727 params.pathRegularExpression = pathRegularExpression;
728 params.callback = callback;
729 context->InvokeService(context, _OrthancPluginService_RegisterRestCallback, ¶ms);
737 } _OrthancPluginOnStoredInstanceCallback;
752 _OrthancPluginOnStoredInstanceCallback params;
753 params.callback = callback;
755 context->InvokeService(context, _OrthancPluginService_RegisterOnStoredInstanceCallback, ¶ms);
765 const char* mimeType;
766 } _OrthancPluginAnswerBuffer;
784 const char* mimeType)
786 _OrthancPluginAnswerBuffer params;
787 params.output = output;
788 params.answer = answer;
789 params.answerSize = answerSize;
790 params.mimeType = mimeType;
791 context->InvokeService(context, _OrthancPluginService_AnswerBuffer, ¶ms);
803 } _OrthancPluginCompressAndAnswerPngImage;
831 _OrthancPluginCompressAndAnswerPngImage params;
832 params.output = output;
833 params.format = format;
834 params.width = width;
835 params.height = height;
836 params.pitch = pitch;
837 params.buffer = buffer;
838 context->InvokeService(context, _OrthancPluginService_CompressAndAnswerPngImage, ¶ms);
846 const char* instanceId;
847 } _OrthancPluginGetDicomForInstance;
863 const char* instanceId)
865 _OrthancPluginGetDicomForInstance params;
866 params.target = target;
867 params.instanceId = instanceId;
868 return context->InvokeService(context, _OrthancPluginService_GetDicomForInstance, ¶ms);
877 } _OrthancPluginRestApiGet;
895 _OrthancPluginRestApiGet params;
896 params.target = target;
898 return context->InvokeService(context, _OrthancPluginService_RestApiGet, ¶ms);
922 _OrthancPluginRestApiGet params;
923 params.target = target;
925 return context->InvokeService(context, _OrthancPluginService_RestApiGetAfterPlugins, ¶ms);
936 } _OrthancPluginRestApiPostPut;
958 _OrthancPluginRestApiPostPut params;
959 params.target = target;
962 params.bodySize = bodySize;
963 return context->InvokeService(context, _OrthancPluginService_RestApiPost, ¶ms);
990 _OrthancPluginRestApiPostPut params;
991 params.target = target;
994 params.bodySize = bodySize;
995 return context->InvokeService(context, _OrthancPluginService_RestApiPostAfterPlugins, ¶ms);
1013 return context->InvokeService(context, _OrthancPluginService_RestApiDelete, uri);
1033 return context->InvokeService(context, _OrthancPluginService_RestApiDeleteAfterPlugins, uri);
1058 _OrthancPluginRestApiPostPut params;
1059 params.target = target;
1062 params.bodySize = bodySize;
1063 return context->InvokeService(context, _OrthancPluginService_RestApiPut, ¶ms);
1091 _OrthancPluginRestApiPostPut params;
1092 params.target = target;
1095 params.bodySize = bodySize;
1096 return context->InvokeService(context, _OrthancPluginService_RestApiPutAfterPlugins, ¶ms);
1104 const char* argument;
1105 } _OrthancPluginOutputPlusArgument;
1120 const char* redirection)
1122 _OrthancPluginOutputPlusArgument params;
1123 params.output = output;
1124 params.argument = redirection;
1125 context->InvokeService(context, _OrthancPluginService_Redirect, ¶ms);
1133 const char* argument;
1134 } _OrthancPluginRetrieveDynamicString;
1150 const char* patientID)
1154 _OrthancPluginRetrieveDynamicString params;
1155 params.result = &result;
1156 params.argument = patientID;
1158 if (context->InvokeService(context, _OrthancPluginService_LookupPatient, ¶ms))
1184 const char* studyUID)
1188 _OrthancPluginRetrieveDynamicString params;
1189 params.result = &result;
1190 params.argument = studyUID;
1192 if (context->InvokeService(context, _OrthancPluginService_LookupStudy, ¶ms))
1218 const char* accessionNumber)
1222 _OrthancPluginRetrieveDynamicString params;
1223 params.result = &result;
1224 params.argument = accessionNumber;
1226 if (context->InvokeService(context, _OrthancPluginService_LookupStudyWithAccessionNumber, ¶ms))
1252 const char* seriesUID)
1256 _OrthancPluginRetrieveDynamicString params;
1257 params.result = &result;
1258 params.argument = seriesUID;
1260 if (context->InvokeService(context, _OrthancPluginService_LookupSeries, ¶ms))
1286 const char* sopInstanceUID)
1290 _OrthancPluginRetrieveDynamicString params;
1291 params.result = &result;
1292 params.argument = sopInstanceUID;
1294 if (context->InvokeService(context, _OrthancPluginService_LookupInstance, ¶ms))
1311 } _OrthancPluginSendHttpStatusCode;
1332 _OrthancPluginSendHttpStatusCode params;
1333 params.output = output;
1334 params.status = status;
1335 context->InvokeService(context, _OrthancPluginService_SendHttpStatusCode, ¶ms);
1354 _OrthancPluginOutputPlusArgument params;
1355 params.output = output;
1356 params.argument = realm;
1357 context->InvokeService(context, _OrthancPluginService_SendUnauthorized, ¶ms);
1374 const char* allowedMethods)
1376 _OrthancPluginOutputPlusArgument params;
1377 params.output = output;
1378 params.argument = allowedMethods;
1379 context->InvokeService(context, _OrthancPluginService_SendMethodNotAllowed, ¶ms);
1388 } _OrthancPluginSetHttpHeader;
1406 _OrthancPluginSetHttpHeader params;
1407 params.output = output;
1408 params.key = cookie;
1409 params.value = value;
1410 context->InvokeService(context, _OrthancPluginService_SetCookie, ¶ms);
1430 _OrthancPluginSetHttpHeader params;
1431 params.output = output;
1433 params.value = value;
1434 context->InvokeService(context, _OrthancPluginService_SetHttpHeader, ¶ms);
1440 char** resultStringToFree;
1441 const char** resultString;
1442 int64_t* resultInt64;
1445 } _OrthancPluginAccessDicomInstance;
1464 _OrthancPluginAccessDicomInstance params;
1465 memset(¶ms, 0,
sizeof(params));
1466 params.resultString = &result;
1467 params.instance = instance;
1469 if (context->InvokeService(context, _OrthancPluginService_GetInstanceRemoteAet, ¶ms))
1496 _OrthancPluginAccessDicomInstance params;
1497 memset(¶ms, 0,
sizeof(params));
1498 params.resultInt64 = &size;
1499 params.instance = instance;
1501 if (context->InvokeService(context, _OrthancPluginService_GetInstanceSize, ¶ms))
1528 _OrthancPluginAccessDicomInstance params;
1529 memset(¶ms, 0,
sizeof(params));
1530 params.resultString = &result;
1531 params.instance = instance;
1533 if (context->InvokeService(context, _OrthancPluginService_GetInstanceData, ¶ms))
1563 _OrthancPluginAccessDicomInstance params;
1564 memset(¶ms, 0,
sizeof(params));
1565 params.resultStringToFree = &result;
1566 params.instance = instance;
1568 if (context->InvokeService(context, _OrthancPluginService_GetInstanceJson, ¶ms))
1600 _OrthancPluginAccessDicomInstance params;
1601 memset(¶ms, 0,
sizeof(params));
1602 params.resultStringToFree = &result;
1603 params.instance = instance;
1605 if (context->InvokeService(context, _OrthancPluginService_GetInstanceSimplifiedJson, ¶ms))
1635 const char* metadata)
1639 _OrthancPluginAccessDicomInstance params;
1640 memset(¶ms, 0,
sizeof(params));
1641 params.resultInt64 = &result;
1642 params.instance = instance;
1643 params.key = metadata;
1645 if (context->InvokeService(context, _OrthancPluginService_HasInstanceMetadata, ¶ms))
1652 return (result != 0);
1672 const char* metadata)
1676 _OrthancPluginAccessDicomInstance params;
1677 memset(¶ms, 0,
sizeof(params));
1678 params.resultString = &result;
1679 params.instance = instance;
1680 params.key = metadata;
1682 if (context->InvokeService(context, _OrthancPluginService_GetInstanceMetadata, ¶ms))
1701 } _OrthancPluginRegisterStorageArea;
1722 _OrthancPluginRegisterStorageArea params;
1723 params.create = create;
1725 params.remove =
remove;
1728 params.free = ::free;
1733 context->InvokeService(context, _OrthancPluginService_RegisterStorageArea, ¶ms);
1752 _OrthancPluginRetrieveDynamicString params;
1753 params.result = &result;
1754 params.argument = NULL;
1756 if (context->InvokeService(context, _OrthancPluginService_GetOrthancPath, ¶ms))
1782 _OrthancPluginRetrieveDynamicString params;
1783 params.result = &result;
1784 params.argument = NULL;
1786 if (context->InvokeService(context, _OrthancPluginService_GetOrthancDirectory, ¶ms))
1813 _OrthancPluginRetrieveDynamicString params;
1814 params.result = &result;
1815 params.argument = NULL;
1817 if (context->InvokeService(context, _OrthancPluginService_GetConfigurationPath, ¶ms))
1833 } _OrthancPluginOnChangeCallback;
1848 _OrthancPluginOnChangeCallback params;
1849 params.callback = callback;
1851 context->InvokeService(context, _OrthancPluginService_RegisterOnChangeCallback, ¶ms);
1859 _OrthancPluginProperty property;
1861 } _OrthancPluginSetPluginProperty;
1879 _OrthancPluginSetPluginProperty params;
1880 params.plugin = OrthancPluginGetName();
1881 params.property = _OrthancPluginProperty_RootUri;
1884 context->InvokeService(context, _OrthancPluginService_SetPluginProperty, ¶ms);
1899 const char* description)
1901 _OrthancPluginSetPluginProperty params;
1902 params.plugin = OrthancPluginGetName();
1903 params.property = _OrthancPluginProperty_Description;
1904 params.value = description;
1906 context->InvokeService(context, _OrthancPluginService_SetPluginProperty, ¶ms);
1921 const char* javascript)
1923 _OrthancPluginSetPluginProperty params;
1924 params.plugin = OrthancPluginGetName();
1925 params.property = _OrthancPluginProperty_OrthancExplorer;
1926 params.value = javascript;
1928 context->InvokeService(context, _OrthancPluginService_SetPluginProperty, ¶ms);
1937 } _OrthancPluginGlobalProperty;
1955 const char* defaultValue)
1959 _OrthancPluginGlobalProperty params;
1960 params.result = &result;
1961 params.property = property;
1962 params.value = defaultValue;
1964 if (context->InvokeService(context, _OrthancPluginService_GetGlobalProperty, ¶ms))
1995 _OrthancPluginGlobalProperty params;
1996 params.result = NULL;
1997 params.property = property;
1998 params.value = value;
2000 if (context->InvokeService(context, _OrthancPluginService_SetGlobalProperty, ¶ms))
2015 int32_t *resultInt32;
2016 uint32_t *resultUint32;
2017 int64_t *resultInt64;
2018 uint64_t *resultUint64;
2019 } _OrthancPluginReturnSingleValue;
2034 _OrthancPluginReturnSingleValue params;
2035 memset(¶ms, 0,
sizeof(params));
2036 params.resultUint32 = &count;
2038 if (context->InvokeService(context, _OrthancPluginService_GetCommandLineArgumentsCount, ¶ms))
2069 _OrthancPluginGlobalProperty params;
2070 params.result = &result;
2071 params.property = (int32_t) argument;
2072 params.value = NULL;
2074 if (context->InvokeService(context, _OrthancPluginService_GetCommandLineArgument, ¶ms))
int32_t(* OrthancPluginStorageRemove)(const char *uuid, OrthancPluginContentType type)
Callback for removing a file from the storage area.
Definition: OrthancCPlugin.h:526
void OrthancPluginSendMethodNotAllowed(OrthancPluginContext *context, OrthancPluginRestOutput *output, const char *allowedMethods)
Signal that this URI does not support this HTTP method.
Definition: OrthancCPlugin.h:1371
char * OrthancPluginGetGlobalProperty(OrthancPluginContext *context, int32_t property, const char *defaultValue)
Get the value of a global property.
Definition: OrthancCPlugin.h:1952
The parameters of a REST request.
Definition: OrthancCPlugin.h:177
void OrthancPluginRegisterOnChangeCallback(OrthancPluginContext *context, OrthancPluginOnChangeCallback callback)
Register a callback to monitor changes.
Definition: OrthancCPlugin.h:1844
Definition: OrthancCPlugin.h:368
void OrthancPluginRegisterOnStoredInstanceCallback(OrthancPluginContext *context, OrthancPluginOnStoredInstanceCallback callback)
Register a callback for received instances.
Definition: OrthancCPlugin.h:748
const char *const * headersValues
The values of the HTTP headers.
Definition: OrthancCPlugin.h:237
const char *const * headersKeys
The keys of the HTTP headers (always converted to low-case).
Definition: OrthancCPlugin.h:232
uint32_t getCount
For a GET request, the number of GET parameters.
Definition: OrthancCPlugin.h:197
void OrthancPluginRedirect(OrthancPluginContext *context, OrthancPluginRestOutput *output, const char *redirection)
Redirect a REST request.
Definition: OrthancCPlugin.h:1117
int32_t(* OrthancPluginStorageCreate)(const char *uuid, const void *content, int64_t size, OrthancPluginContentType type)
Callback for writing to the storage area.
Definition: OrthancCPlugin.h:490
int 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:951
void OrthancPluginSendHttpStatusCode(OrthancPluginContext *context, OrthancPluginRestOutput *output, uint16_t status)
Send a HTTP status code.
Definition: OrthancCPlugin.h:1327
Definition: OrthancCPlugin.h:394
const char * OrthancPluginGetInstanceRemoteAet(OrthancPluginContext *context, OrthancPluginDicomInstance *instance)
Get the AET of a DICOM instance.
Definition: OrthancCPlugin.h:1458
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:822
OrthancPluginContentType
Definition: OrthancCPlugin.h:365
Definition: OrthancCPlugin.h:397
void OrthancPluginLogInfo(OrthancPluginContext *context, const char *message)
Log an information.
Definition: OrthancCPlugin.h:694
int32_t(* OrthancPluginStorageRead)(void **content, int64_t *size, const char *uuid, OrthancPluginContentType type)
Callback for reading from the storage area.
Definition: OrthancCPlugin.h:509
Definition: OrthancCPlugin.h:167
void OrthancPluginLogError(OrthancPluginContext *context, const char *message)
Log an error.
Definition: OrthancCPlugin.h:662
void OrthancPluginFreeMemoryBuffer(OrthancPluginContext *context, OrthancPluginMemoryBuffer *buffer)
Free a memory buffer.
Definition: OrthancCPlugin.h:646
char * OrthancPluginGetOrthancPath(OrthancPluginContext *context)
Return the path to the Orthanc executable.
Definition: OrthancCPlugin.h:1748
OrthancPluginResourceType
Definition: OrthancCPlugin.h:377
int32_t(* OrthancPluginRestCallback)(OrthancPluginRestOutput *output, const char *url, const OrthancPluginHttpRequest *request)
Signature of a callback function that answers to a REST request.
Definition: OrthancCPlugin.h:446
void OrthancPluginSendUnauthorized(OrthancPluginContext *context, OrthancPluginRestOutput *output, const char *realm)
Signal that a REST request is not authorized.
Definition: OrthancCPlugin.h:1349
OrthancPluginChangeType
Definition: OrthancCPlugin.h:390
int OrthancPluginRestApiDelete(OrthancPluginContext *context, const char *uri)
Make a DELETE call to the built-in Orthanc REST API.
Definition: OrthancCPlugin.h:1009
void OrthancPluginSetHttpHeader(OrthancPluginContext *context, OrthancPluginRestOutput *output, const char *key, const char *value)
Set some HTTP header.
Definition: OrthancCPlugin.h:1424
int OrthancPluginGetDicomForInstance(OrthancPluginContext *context, OrthancPluginMemoryBuffer *target, const char *instanceId)
Retrieve a DICOM instance using its Orthanc identifier.
Definition: OrthancCPlugin.h:860
char * OrthancPluginGetOrthancDirectory(OrthancPluginContext *context)
Return the directory containing the Orthanc.
Definition: OrthancCPlugin.h:1778
Graylevel, unsigned 16bpp image.
Definition: OrthancCPlugin.h:333
int OrthancPluginRestApiDeleteAfterPlugins(OrthancPluginContext *context, const char *uri)
Make a DELETE call to the REST API, as tainted by the plugins.
Definition: OrthancCPlugin.h:1029
char * OrthancPluginLookupStudyWithAccessionNumber(OrthancPluginContext *context, const char *accessionNumber)
Look for a study, using the accession number.
Definition: OrthancCPlugin.h:1216
void OrthancPluginSetRootUri(OrthancPluginContext *context, const char *uri)
Set the URI where the plugin provides its Web interface.
Definition: OrthancCPlugin.h:1875
void * data
The content of the buffer.
Definition: OrthancCPlugin.h:418
Definition: OrthancCPlugin.h:395
Color image in RGB24 format.
Definition: OrthancCPlugin.h:349
int OrthancPluginHasInstanceMetadata(OrthancPluginContext *context, OrthancPluginDicomInstance *instance, const char *metadata)
Check whether a DICOM instance is associated with some metadata.
Definition: OrthancCPlugin.h:1632
uint32_t headersCount
The number of HTTP headers.
Definition: OrthancCPlugin.h:227
char * OrthancPluginGetInstanceSimplifiedJson(OrthancPluginContext *context, OrthancPluginDicomInstance *instance)
Get the DICOM tag hierarchy as a JSON file (with simplification).
Definition: OrthancCPlugin.h:1594
void OrthancPluginExtendOrthancExplorer(OrthancPluginContext *context, const char *javascript)
Extend the JavaScript code of Orthanc Explorer.
Definition: OrthancCPlugin.h:1919
OrthancPluginHttpMethod
Definition: OrthancCPlugin.h:165
struct _OrthancPluginDicomInstance_t OrthancPluginDicomInstance
Opaque structure that represents a DICOM instance received by Orthanc.
Definition: OrthancCPlugin.h:439
char * OrthancPluginGetCommandLineArgument(OrthancPluginContext *context, uint32_t argument)
Get the value of a command-line argument.
Definition: OrthancCPlugin.h:2063
Definition: OrthancCPlugin.h:401
struct _OrthancPluginContext_t OrthancPluginContext
Data structure that contains information about the Orthanc core.
Definition: OrthancCPlugin.h:393
Definition: OrthancCPlugin.h:379
struct _OrthancPluginRestOutput_t OrthancPluginRestOutput
Opaque structure that represents the HTTP connection to the client application.
Definition: OrthancCPlugin.h:432
int32_t OrthancPluginSetGlobalProperty(OrthancPluginContext *context, int32_t property, const char *value)
Set the value of a global property.
Definition: OrthancCPlugin.h:1990
int 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:1051
int 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:1084
const char *const * getValues
For a GET request, the values of the GET parameters.
Definition: OrthancCPlugin.h:207
int 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:983
Definition: OrthancCPlugin.h:169
char * OrthancPluginGetConfigurationPath(OrthancPluginContext *context)
Return the path to the configuration file.
Definition: OrthancCPlugin.h:1809
const char * body
For a PUT or POST request, the content of the body.
Definition: OrthancCPlugin.h:212
Definition: OrthancCPlugin.h:170
char * OrthancPluginLookupPatient(OrthancPluginContext *context, const char *patientID)
Look for a patient.
Definition: OrthancCPlugin.h:1148
Color image in RGBA32 format.
Definition: OrthancCPlugin.h:357
Definition: OrthancCPlugin.h:380
void OrthancPluginSetCookie(OrthancPluginContext *context, OrthancPluginRestOutput *output, const char *cookie, const char *value)
Set a cookie.
Definition: OrthancCPlugin.h:1400
const char *const * getKeys
For a GET request, the keys of the GET parameters.
Definition: OrthancCPlugin.h:202
Definition: OrthancCPlugin.h:392
const char *const * groups
The matched values for the groups of the regular expression.
Definition: OrthancCPlugin.h:192
uint32_t OrthancPluginGetCommandLineArgumentsCount(OrthancPluginContext *context)
Get the number of command-line arguments.
Definition: OrthancCPlugin.h:2029
uint32_t size
The number of bytes in the buffer.
Definition: OrthancCPlugin.h:423
int OrthancPluginRestApiGet(OrthancPluginContext *context, OrthancPluginMemoryBuffer *target, const char *uri)
Make a GET call to the built-in Orthanc REST API.
Definition: OrthancCPlugin.h:890
uint32_t groupsCount
The number of groups of the regular expression.
Definition: OrthancCPlugin.h:187
int32_t(* OrthancPluginOnStoredInstanceCallback)(OrthancPluginDicomInstance *instance, const char *instanceId)
Signature of a callback function that is triggered when Orthanc receives a DICOM instance.
Definition: OrthancCPlugin.h:456
Definition: OrthancCPlugin.h:400
OrthancPluginPixelFormat
Definition: OrthancCPlugin.h:317
Definition: OrthancCPlugin.h:381
void OrthancPluginRegisterRestCallback(OrthancPluginContext *context, const char *pathRegularExpression, OrthancPluginRestCallback callback)
Register a REST callback.
Definition: OrthancCPlugin.h:721
Graylevel 8bpp image.
Definition: OrthancCPlugin.h:325
uint32_t bodySize
For a PUT or POST request, the number of bytes of the body.
Definition: OrthancCPlugin.h:217
void OrthancPluginAnswerBuffer(OrthancPluginContext *context, OrthancPluginRestOutput *output, const char *answer, uint32_t answerSize, const char *mimeType)
Answer to a REST request.
Definition: OrthancCPlugin.h:779
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:1669
Definition: OrthancCPlugin.h:399
void OrthancPluginRegisterStorageArea(OrthancPluginContext *context, OrthancPluginStorageCreate create, OrthancPluginStorageRead read, OrthancPluginStorageRemove remove)
Register a custom storage area.
Definition: OrthancCPlugin.h:1716
void OrthancPluginFreeString(OrthancPluginContext *context, char *str)
Free a string.
Definition: OrthancCPlugin.h:555
void(* OrthancPluginFree)(void *buffer)
Signature of a function to free dynamic memory.
Definition: OrthancCPlugin.h:475
Definition: OrthancCPlugin.h:396
int64_t OrthancPluginGetInstanceSize(OrthancPluginContext *context, OrthancPluginDicomInstance *instance)
Get the size of a DICOM file.
Definition: OrthancCPlugin.h:1490
Definition: OrthancCPlugin.h:382
char * OrthancPluginGetInstanceJson(OrthancPluginContext *context, OrthancPluginDicomInstance *instance)
Get the DICOM tag hierarchy as a JSON file.
Definition: OrthancCPlugin.h:1557
Graylevel, signed 16bpp image.
Definition: OrthancCPlugin.h:341
OrthancPluginHttpMethod method
The HTTP method.
Definition: OrthancCPlugin.h:182
const char * OrthancPluginGetInstanceData(OrthancPluginContext *context, OrthancPluginDicomInstance *instance)
Get the data of a DICOM file.
Definition: OrthancCPlugin.h:1522
A memory buffer allocated by the core system of Orthanc.
Definition: OrthancCPlugin.h:413
void OrthancPluginSetDescription(OrthancPluginContext *context, const char *description)
Set a description for this plugin.
Definition: OrthancCPlugin.h:1897
int OrthancPluginCheckVersion(OrthancPluginContext *context)
Check the compatibility of the plugin wrt. the version of its hosting Orthanc.
Definition: OrthancCPlugin.h:578
void OrthancPluginLogWarning(OrthancPluginContext *context, const char *message)
Log a warning.
Definition: OrthancCPlugin.h:678
Definition: OrthancCPlugin.h:369
Definition: OrthancCPlugin.h:168
char * OrthancPluginLookupStudy(OrthancPluginContext *context, const char *studyUID)
Look for a study.
Definition: OrthancCPlugin.h:1182
char * OrthancPluginLookupSeries(OrthancPluginContext *context, const char *seriesUID)
Look for a series.
Definition: OrthancCPlugin.h:1250
Definition: OrthancCPlugin.h:367
Definition: OrthancCPlugin.h:398
int OrthancPluginRestApiGetAfterPlugins(OrthancPluginContext *context, OrthancPluginMemoryBuffer *target, const char *uri)
Make a GET call to the REST API, as tainted by the plugins.
Definition: OrthancCPlugin.h:917
int32_t(* 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:465
char * OrthancPluginLookupInstance(OrthancPluginContext *context, const char *sopInstanceUID)
Look for an instance.
Definition: OrthancCPlugin.h:1284