Mercurial > hg > orthanc-python
annotate Resources/Orthanc/Sdk-1.10.0/orthanc/OrthancCPlugin.h @ 107:461dfb859ac7
upgrade to Orthanc SDK 1.10.0
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 23 Feb 2022 17:45:42 +0100 |
parents | |
children | cc0765aae484 |
rev | line source |
---|---|
107
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2 * \mainpage |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4 * This C/C++ SDK allows external developers to create plugins that |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5 * can be loaded into Orthanc to extend its functionality. Each |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6 * Orthanc plugin must expose 4 public functions with the following |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7 * signatures: |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
9 * -# <tt>int32_t OrthancPluginInitialize(const OrthancPluginContext* context)</tt>: |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
10 * This function is invoked by Orthanc when it loads the plugin on startup. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
11 * The plugin must: |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
12 * - Check its compatibility with the Orthanc version using |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
13 * ::OrthancPluginCheckVersion(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
14 * - Store the context pointer so that it can use the plugin |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
15 * services of Orthanc. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
16 * - Register all its REST callbacks using ::OrthancPluginRegisterRestCallback(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
17 * - Possibly register its callback for received DICOM instances using ::OrthancPluginRegisterOnStoredInstanceCallback(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
18 * - Possibly register its callback for changes to the DICOM store using ::OrthancPluginRegisterOnChangeCallback(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
19 * - Possibly register a custom storage area using ::OrthancPluginRegisterStorageArea2(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
20 * - Possibly register a custom database back-end area using OrthancPluginRegisterDatabaseBackendV3(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
21 * - Possibly register a handler for C-Find SCP using OrthancPluginRegisterFindCallback(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
22 * - Possibly register a handler for C-Find SCP against DICOM worklists using OrthancPluginRegisterWorklistCallback(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
23 * - Possibly register a handler for C-Move SCP using OrthancPluginRegisterMoveCallback(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
24 * - Possibly register a custom decoder for DICOM images using OrthancPluginRegisterDecodeImageCallback(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
25 * - Possibly register a callback to filter incoming HTTP requests using OrthancPluginRegisterIncomingHttpRequestFilter2(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
26 * - Possibly register a callback to unserialize jobs using OrthancPluginRegisterJobsUnserializer(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
27 * - Possibly register a callback to refresh its metrics using OrthancPluginRegisterRefreshMetricsCallback(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
28 * - Possibly register a callback to answer chunked HTTP transfers using ::OrthancPluginRegisterChunkedRestCallback(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
29 * - Possibly register a callback for Storage Commitment SCP using ::OrthancPluginRegisterStorageCommitmentScpCallback(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
30 * - Possibly register a callback to keep/discard/modify incoming DICOM instances using OrthancPluginRegisterReceivedInstanceCallback(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
31 * - Possibly register a custom transcoder for DICOM images using OrthancPluginRegisterTranscoderCallback(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
32 * - Possibly register a callback to discard instances received through DICOM C-STORE using OrthancPluginRegisterIncomingCStoreInstanceFilter(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
33 * -# <tt>void OrthancPluginFinalize()</tt>: |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
34 * This function is invoked by Orthanc during its shutdown. The plugin |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
35 * must free all its memory. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
36 * -# <tt>const char* OrthancPluginGetName()</tt>: |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
37 * The plugin must return a short string to identify itself. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
38 * -# <tt>const char* OrthancPluginGetVersion()</tt>: |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
39 * The plugin must return a string containing its version number. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
40 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
41 * The name and the version of a plugin is only used to prevent it |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
42 * from being loaded twice. Note that, in C++, it is mandatory to |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
43 * declare these functions within an <tt>extern "C"</tt> section. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
44 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
45 * To ensure multi-threading safety, the various REST callbacks are |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
46 * guaranteed to be executed in mutual exclusion since Orthanc |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
47 * 0.8.5. If this feature is undesired (notably when developing |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
48 * high-performance plugins handling simultaneous requests), use |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
49 * ::OrthancPluginRegisterRestCallbackNoLock(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
50 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
51 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
52 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
53 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
54 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
55 * @defgroup Images Images and compression |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
56 * @brief Functions to deal with images and compressed buffers. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
57 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
58 * @defgroup REST REST |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
59 * @brief Functions to answer REST requests in a callback. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
60 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
61 * @defgroup Callbacks Callbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
62 * @brief Functions to register and manage callbacks by the plugins. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
63 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
64 * @defgroup DicomCallbacks DicomCallbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
65 * @brief Functions to register and manage DICOM callbacks (worklists, C-FIND, C-MOVE, storage commitment). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
66 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
67 * @defgroup Orthanc Orthanc |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
68 * @brief Functions to access the content of the Orthanc server. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
69 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
70 * @defgroup DicomInstance DicomInstance |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
71 * @brief Functions to access DICOM images that are managed by the Orthanc core. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
72 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
73 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
74 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
75 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
76 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
77 * @defgroup Toolbox Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
78 * @brief Generic functions to help with the creation of plugins. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
79 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
80 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
81 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
82 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
83 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
84 * Orthanc - A Lightweight, RESTful DICOM Store |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
85 * Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
86 * Department, University Hospital of Liege, Belgium |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
87 * Copyright (C) 2017-2022 Osimis S.A., Belgium |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
88 * Copyright (C) 2021-2022 Sebastien Jodogne, ICTEAM UCLouvain, Belgium |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
89 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
90 * This program is free software: you can redistribute it and/or |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
91 * modify it under the terms of the GNU General Public License as |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
92 * published by the Free Software Foundation, either version 3 of the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
93 * License, or (at your option) any later version. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
94 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
95 * This program is distributed in the hope that it will be useful, but |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
96 * WITHOUT ANY WARRANTY; without even the implied warranty of |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
97 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
98 * General Public License for more details. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
99 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
100 * You should have received a copy of the GNU General Public License |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
101 * along with this program. If not, see <http://www.gnu.org/licenses/>. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
102 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
103 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
104 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
105 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
106 #pragma once |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
107 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
108 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
109 #include <stdio.h> |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
110 #include <string.h> |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
111 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
112 #ifdef WIN32 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
113 # define ORTHANC_PLUGINS_API __declspec(dllexport) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
114 #elif __GNUC__ >= 4 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
115 # define ORTHANC_PLUGINS_API __attribute__ ((visibility ("default"))) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
116 #else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
117 # define ORTHANC_PLUGINS_API |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
118 #endif |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
119 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
120 #define ORTHANC_PLUGINS_MINIMAL_MAJOR_NUMBER 1 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
121 #define ORTHANC_PLUGINS_MINIMAL_MINOR_NUMBER 10 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
122 #define ORTHANC_PLUGINS_MINIMAL_REVISION_NUMBER 0 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
123 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
124 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
125 #if !defined(ORTHANC_PLUGINS_VERSION_IS_ABOVE) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
126 #define ORTHANC_PLUGINS_VERSION_IS_ABOVE(major, minor, revision) \ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
127 (ORTHANC_PLUGINS_MINIMAL_MAJOR_NUMBER > major || \ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
128 (ORTHANC_PLUGINS_MINIMAL_MAJOR_NUMBER == major && \ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
129 (ORTHANC_PLUGINS_MINIMAL_MINOR_NUMBER > minor || \ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
130 (ORTHANC_PLUGINS_MINIMAL_MINOR_NUMBER == minor && \ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
131 ORTHANC_PLUGINS_MINIMAL_REVISION_NUMBER >= revision)))) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
132 #endif |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
133 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
134 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
135 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
136 /******************************************************************** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
137 ** Check that function inlining is properly supported. The use of |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
138 ** inlining is required, to avoid the duplication of object code |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
139 ** between two compilation modules that would use the Orthanc Plugin |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
140 ** API. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
141 ********************************************************************/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
142 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
143 /* If the auto-detection of the "inline" keyword below does not work |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
144 automatically and that your compiler is known to properly support |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
145 inlining, uncomment the following #define and adapt the definition |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
146 of "static inline". */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
147 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
148 /* #define ORTHANC_PLUGIN_INLINE static inline */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
149 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
150 #ifndef ORTHANC_PLUGIN_INLINE |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
151 # if __STDC_VERSION__ >= 199901L |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
152 /* This is C99 or above: http://predef.sourceforge.net/prestd.html */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
153 # define ORTHANC_PLUGIN_INLINE static inline |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
154 # elif defined(__cplusplus) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
155 /* This is C++ */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
156 # define ORTHANC_PLUGIN_INLINE static inline |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
157 # elif defined(__GNUC__) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
158 /* This is GCC running in C89 mode */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
159 # define ORTHANC_PLUGIN_INLINE static __inline |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
160 # elif defined(_MSC_VER) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
161 /* This is Visual Studio running in C89 mode */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
162 # define ORTHANC_PLUGIN_INLINE static __inline |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
163 # else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
164 # error Your compiler is not known to support the "inline" keyword |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
165 # endif |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
166 #endif |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
167 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
168 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
169 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
170 /******************************************************************** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
171 ** Inclusion of standard libraries. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
172 ********************************************************************/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
173 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
174 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
175 * For Microsoft Visual Studio, a compatibility "stdint.h" can be |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
176 * downloaded at the following URL: |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
177 * https://hg.orthanc-server.com/orthanc/raw-file/tip/Resources/ThirdParty/VisualStudio/stdint.h |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
178 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
179 #include <stdint.h> |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
180 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
181 #include <stdlib.h> |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
182 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
183 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
184 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
185 /******************************************************************** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
186 ** Definition of the Orthanc Plugin API. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
187 ********************************************************************/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
188 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
189 /** @{ */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
190 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
191 #ifdef __cplusplus |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
192 extern "C" |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
193 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
194 #endif |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
195 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
196 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
197 * The various error codes that can be returned by the Orthanc core. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
198 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
199 typedef enum |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
200 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
201 OrthancPluginErrorCode_InternalError = -1 /*!< Internal error */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
202 OrthancPluginErrorCode_Success = 0 /*!< Success */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
203 OrthancPluginErrorCode_Plugin = 1 /*!< Error encountered within the plugin engine */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
204 OrthancPluginErrorCode_NotImplemented = 2 /*!< Not implemented yet */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
205 OrthancPluginErrorCode_ParameterOutOfRange = 3 /*!< Parameter out of range */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
206 OrthancPluginErrorCode_NotEnoughMemory = 4 /*!< The server hosting Orthanc is running out of memory */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
207 OrthancPluginErrorCode_BadParameterType = 5 /*!< Bad type for a parameter */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
208 OrthancPluginErrorCode_BadSequenceOfCalls = 6 /*!< Bad sequence of calls */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
209 OrthancPluginErrorCode_InexistentItem = 7 /*!< Accessing an inexistent item */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
210 OrthancPluginErrorCode_BadRequest = 8 /*!< Bad request */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
211 OrthancPluginErrorCode_NetworkProtocol = 9 /*!< Error in the network protocol */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
212 OrthancPluginErrorCode_SystemCommand = 10 /*!< Error while calling a system command */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
213 OrthancPluginErrorCode_Database = 11 /*!< Error with the database engine */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
214 OrthancPluginErrorCode_UriSyntax = 12 /*!< Badly formatted URI */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
215 OrthancPluginErrorCode_InexistentFile = 13 /*!< Inexistent file */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
216 OrthancPluginErrorCode_CannotWriteFile = 14 /*!< Cannot write to file */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
217 OrthancPluginErrorCode_BadFileFormat = 15 /*!< Bad file format */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
218 OrthancPluginErrorCode_Timeout = 16 /*!< Timeout */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
219 OrthancPluginErrorCode_UnknownResource = 17 /*!< Unknown resource */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
220 OrthancPluginErrorCode_IncompatibleDatabaseVersion = 18 /*!< Incompatible version of the database */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
221 OrthancPluginErrorCode_FullStorage = 19 /*!< The file storage is full */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
222 OrthancPluginErrorCode_CorruptedFile = 20 /*!< Corrupted file (e.g. inconsistent MD5 hash) */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
223 OrthancPluginErrorCode_InexistentTag = 21 /*!< Inexistent tag */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
224 OrthancPluginErrorCode_ReadOnly = 22 /*!< Cannot modify a read-only data structure */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
225 OrthancPluginErrorCode_IncompatibleImageFormat = 23 /*!< Incompatible format of the images */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
226 OrthancPluginErrorCode_IncompatibleImageSize = 24 /*!< Incompatible size of the images */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
227 OrthancPluginErrorCode_SharedLibrary = 25 /*!< Error while using a shared library (plugin) */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
228 OrthancPluginErrorCode_UnknownPluginService = 26 /*!< Plugin invoking an unknown service */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
229 OrthancPluginErrorCode_UnknownDicomTag = 27 /*!< Unknown DICOM tag */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
230 OrthancPluginErrorCode_BadJson = 28 /*!< Cannot parse a JSON document */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
231 OrthancPluginErrorCode_Unauthorized = 29 /*!< Bad credentials were provided to an HTTP request */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
232 OrthancPluginErrorCode_BadFont = 30 /*!< Badly formatted font file */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
233 OrthancPluginErrorCode_DatabasePlugin = 31 /*!< The plugin implementing a custom database back-end does not fulfill the proper interface */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
234 OrthancPluginErrorCode_StorageAreaPlugin = 32 /*!< Error in the plugin implementing a custom storage area */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
235 OrthancPluginErrorCode_EmptyRequest = 33 /*!< The request is empty */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
236 OrthancPluginErrorCode_NotAcceptable = 34 /*!< Cannot send a response which is acceptable according to the Accept HTTP header */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
237 OrthancPluginErrorCode_NullPointer = 35 /*!< Cannot handle a NULL pointer */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
238 OrthancPluginErrorCode_DatabaseUnavailable = 36 /*!< The database is currently not available (probably a transient situation) */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
239 OrthancPluginErrorCode_CanceledJob = 37 /*!< This job was canceled */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
240 OrthancPluginErrorCode_BadGeometry = 38 /*!< Geometry error encountered in Stone */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
241 OrthancPluginErrorCode_SslInitialization = 39 /*!< Cannot initialize SSL encryption, check out your certificates */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
242 OrthancPluginErrorCode_DiscontinuedAbi = 40 /*!< Calling a function that has been removed from the Orthanc Framework */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
243 OrthancPluginErrorCode_BadRange = 41 /*!< Incorrect range request */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
244 OrthancPluginErrorCode_DatabaseCannotSerialize = 42 /*!< Database could not serialize access due to concurrent update, the transaction should be retried */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
245 OrthancPluginErrorCode_Revision = 43 /*!< A bad revision number was provided, which might indicate conflict between multiple writers */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
246 OrthancPluginErrorCode_SQLiteNotOpened = 1000 /*!< SQLite: The database is not opened */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
247 OrthancPluginErrorCode_SQLiteAlreadyOpened = 1001 /*!< SQLite: Connection is already open */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
248 OrthancPluginErrorCode_SQLiteCannotOpen = 1002 /*!< SQLite: Unable to open the database */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
249 OrthancPluginErrorCode_SQLiteStatementAlreadyUsed = 1003 /*!< SQLite: This cached statement is already being referred to */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
250 OrthancPluginErrorCode_SQLiteExecute = 1004 /*!< SQLite: Cannot execute a command */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
251 OrthancPluginErrorCode_SQLiteRollbackWithoutTransaction = 1005 /*!< SQLite: Rolling back a nonexistent transaction (have you called Begin()?) */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
252 OrthancPluginErrorCode_SQLiteCommitWithoutTransaction = 1006 /*!< SQLite: Committing a nonexistent transaction */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
253 OrthancPluginErrorCode_SQLiteRegisterFunction = 1007 /*!< SQLite: Unable to register a function */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
254 OrthancPluginErrorCode_SQLiteFlush = 1008 /*!< SQLite: Unable to flush the database */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
255 OrthancPluginErrorCode_SQLiteCannotRun = 1009 /*!< SQLite: Cannot run a cached statement */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
256 OrthancPluginErrorCode_SQLiteCannotStep = 1010 /*!< SQLite: Cannot step over a cached statement */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
257 OrthancPluginErrorCode_SQLiteBindOutOfRange = 1011 /*!< SQLite: Bing a value while out of range (serious error) */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
258 OrthancPluginErrorCode_SQLitePrepareStatement = 1012 /*!< SQLite: Cannot prepare a cached statement */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
259 OrthancPluginErrorCode_SQLiteTransactionAlreadyStarted = 1013 /*!< SQLite: Beginning the same transaction twice */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
260 OrthancPluginErrorCode_SQLiteTransactionCommit = 1014 /*!< SQLite: Failure when committing the transaction */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
261 OrthancPluginErrorCode_SQLiteTransactionBegin = 1015 /*!< SQLite: Cannot start a transaction */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
262 OrthancPluginErrorCode_DirectoryOverFile = 2000 /*!< The directory to be created is already occupied by a regular file */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
263 OrthancPluginErrorCode_FileStorageCannotWrite = 2001 /*!< Unable to create a subdirectory or a file in the file storage */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
264 OrthancPluginErrorCode_DirectoryExpected = 2002 /*!< The specified path does not point to a directory */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
265 OrthancPluginErrorCode_HttpPortInUse = 2003 /*!< The TCP port of the HTTP server is privileged or already in use */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
266 OrthancPluginErrorCode_DicomPortInUse = 2004 /*!< The TCP port of the DICOM server is privileged or already in use */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
267 OrthancPluginErrorCode_BadHttpStatusInRest = 2005 /*!< This HTTP status is not allowed in a REST API */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
268 OrthancPluginErrorCode_RegularFileExpected = 2006 /*!< The specified path does not point to a regular file */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
269 OrthancPluginErrorCode_PathToExecutable = 2007 /*!< Unable to get the path to the executable */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
270 OrthancPluginErrorCode_MakeDirectory = 2008 /*!< Cannot create a directory */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
271 OrthancPluginErrorCode_BadApplicationEntityTitle = 2009 /*!< An application entity title (AET) cannot be empty or be longer than 16 characters */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
272 OrthancPluginErrorCode_NoCFindHandler = 2010 /*!< No request handler factory for DICOM C-FIND SCP */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
273 OrthancPluginErrorCode_NoCMoveHandler = 2011 /*!< No request handler factory for DICOM C-MOVE SCP */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
274 OrthancPluginErrorCode_NoCStoreHandler = 2012 /*!< No request handler factory for DICOM C-STORE SCP */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
275 OrthancPluginErrorCode_NoApplicationEntityFilter = 2013 /*!< No application entity filter */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
276 OrthancPluginErrorCode_NoSopClassOrInstance = 2014 /*!< DicomUserConnection: Unable to find the SOP class and instance */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
277 OrthancPluginErrorCode_NoPresentationContext = 2015 /*!< DicomUserConnection: No acceptable presentation context for modality */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
278 OrthancPluginErrorCode_DicomFindUnavailable = 2016 /*!< DicomUserConnection: The C-FIND command is not supported by the remote SCP */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
279 OrthancPluginErrorCode_DicomMoveUnavailable = 2017 /*!< DicomUserConnection: The C-MOVE command is not supported by the remote SCP */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
280 OrthancPluginErrorCode_CannotStoreInstance = 2018 /*!< Cannot store an instance */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
281 OrthancPluginErrorCode_CreateDicomNotString = 2019 /*!< Only string values are supported when creating DICOM instances */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
282 OrthancPluginErrorCode_CreateDicomOverrideTag = 2020 /*!< Trying to override a value inherited from a parent module */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
283 OrthancPluginErrorCode_CreateDicomUseContent = 2021 /*!< Use \"Content\" to inject an image into a new DICOM instance */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
284 OrthancPluginErrorCode_CreateDicomNoPayload = 2022 /*!< No payload is present for one instance in the series */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
285 OrthancPluginErrorCode_CreateDicomUseDataUriScheme = 2023 /*!< The payload of the DICOM instance must be specified according to Data URI scheme */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
286 OrthancPluginErrorCode_CreateDicomBadParent = 2024 /*!< Trying to attach a new DICOM instance to an inexistent resource */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
287 OrthancPluginErrorCode_CreateDicomParentIsInstance = 2025 /*!< Trying to attach a new DICOM instance to an instance (must be a series, study or patient) */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
288 OrthancPluginErrorCode_CreateDicomParentEncoding = 2026 /*!< Unable to get the encoding of the parent resource */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
289 OrthancPluginErrorCode_UnknownModality = 2027 /*!< Unknown modality */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
290 OrthancPluginErrorCode_BadJobOrdering = 2028 /*!< Bad ordering of filters in a job */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
291 OrthancPluginErrorCode_JsonToLuaTable = 2029 /*!< Cannot convert the given JSON object to a Lua table */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
292 OrthancPluginErrorCode_CannotCreateLua = 2030 /*!< Cannot create the Lua context */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
293 OrthancPluginErrorCode_CannotExecuteLua = 2031 /*!< Cannot execute a Lua command */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
294 OrthancPluginErrorCode_LuaAlreadyExecuted = 2032 /*!< Arguments cannot be pushed after the Lua function is executed */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
295 OrthancPluginErrorCode_LuaBadOutput = 2033 /*!< The Lua function does not give the expected number of outputs */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
296 OrthancPluginErrorCode_NotLuaPredicate = 2034 /*!< The Lua function is not a predicate (only true/false outputs allowed) */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
297 OrthancPluginErrorCode_LuaReturnsNoString = 2035 /*!< The Lua function does not return a string */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
298 OrthancPluginErrorCode_StorageAreaAlreadyRegistered = 2036 /*!< Another plugin has already registered a custom storage area */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
299 OrthancPluginErrorCode_DatabaseBackendAlreadyRegistered = 2037 /*!< Another plugin has already registered a custom database back-end */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
300 OrthancPluginErrorCode_DatabaseNotInitialized = 2038 /*!< Plugin trying to call the database during its initialization */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
301 OrthancPluginErrorCode_SslDisabled = 2039 /*!< Orthanc has been built without SSL support */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
302 OrthancPluginErrorCode_CannotOrderSlices = 2040 /*!< Unable to order the slices of the series */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
303 OrthancPluginErrorCode_NoWorklistHandler = 2041 /*!< No request handler factory for DICOM C-Find Modality SCP */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
304 OrthancPluginErrorCode_AlreadyExistingTag = 2042 /*!< Cannot override the value of a tag that already exists */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
305 OrthancPluginErrorCode_NoStorageCommitmentHandler = 2043 /*!< No request handler factory for DICOM N-ACTION SCP (storage commitment) */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
306 OrthancPluginErrorCode_NoCGetHandler = 2044 /*!< No request handler factory for DICOM C-GET SCP */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
307 OrthancPluginErrorCode_UnsupportedMediaType = 3000 /*!< Unsupported media type */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
308 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
309 _OrthancPluginErrorCode_INTERNAL = 0x7fffffff |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
310 } OrthancPluginErrorCode; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
311 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
312 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
313 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
314 * Forward declaration of one of the mandatory functions for Orthanc |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
315 * plugins. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
316 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
317 ORTHANC_PLUGINS_API const char* OrthancPluginGetName(); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
318 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
319 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
320 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
321 * The various HTTP methods for a REST call. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
322 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
323 typedef enum |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
324 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
325 OrthancPluginHttpMethod_Get = 1, /*!< GET request */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
326 OrthancPluginHttpMethod_Post = 2, /*!< POST request */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
327 OrthancPluginHttpMethod_Put = 3, /*!< PUT request */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
328 OrthancPluginHttpMethod_Delete = 4, /*!< DELETE request */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
329 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
330 _OrthancPluginHttpMethod_INTERNAL = 0x7fffffff |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
331 } OrthancPluginHttpMethod; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
332 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
333 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
334 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
335 * @brief The parameters of a REST request. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
336 * @ingroup Callbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
337 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
338 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
339 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
340 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
341 * @brief The HTTP method. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
342 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
343 OrthancPluginHttpMethod method; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
344 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
345 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
346 * @brief The number of groups of the regular expression. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
347 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
348 uint32_t groupsCount; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
349 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
350 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
351 * @brief The matched values for the groups of the regular expression. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
352 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
353 const char* const* groups; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
354 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
355 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
356 * @brief For a GET request, the number of GET parameters. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
357 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
358 uint32_t getCount; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
359 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
360 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
361 * @brief For a GET request, the keys of the GET parameters. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
362 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
363 const char* const* getKeys; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
364 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
365 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
366 * @brief For a GET request, the values of the GET parameters. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
367 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
368 const char* const* getValues; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
369 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
370 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
371 * @brief For a PUT or POST request, the content of the body. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
372 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
373 const void* body; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
374 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
375 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
376 * @brief For a PUT or POST request, the number of bytes of the body. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
377 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
378 uint32_t bodySize; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
379 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
380 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
381 /* -------------------------------------------------- |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
382 New in version 0.8.1 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
383 -------------------------------------------------- */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
384 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
385 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
386 * @brief The number of HTTP headers. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
387 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
388 uint32_t headersCount; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
389 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
390 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
391 * @brief The keys of the HTTP headers (always converted to low-case). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
392 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
393 const char* const* headersKeys; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
394 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
395 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
396 * @brief The values of the HTTP headers. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
397 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
398 const char* const* headersValues; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
399 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
400 } OrthancPluginHttpRequest; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
401 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
402 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
403 typedef enum |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
404 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
405 /* Generic services */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
406 _OrthancPluginService_LogInfo = 1, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
407 _OrthancPluginService_LogWarning = 2, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
408 _OrthancPluginService_LogError = 3, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
409 _OrthancPluginService_GetOrthancPath = 4, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
410 _OrthancPluginService_GetOrthancDirectory = 5, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
411 _OrthancPluginService_GetConfigurationPath = 6, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
412 _OrthancPluginService_SetPluginProperty = 7, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
413 _OrthancPluginService_GetGlobalProperty = 8, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
414 _OrthancPluginService_SetGlobalProperty = 9, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
415 _OrthancPluginService_GetCommandLineArgumentsCount = 10, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
416 _OrthancPluginService_GetCommandLineArgument = 11, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
417 _OrthancPluginService_GetExpectedDatabaseVersion = 12, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
418 _OrthancPluginService_GetConfiguration = 13, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
419 _OrthancPluginService_BufferCompression = 14, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
420 _OrthancPluginService_ReadFile = 15, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
421 _OrthancPluginService_WriteFile = 16, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
422 _OrthancPluginService_GetErrorDescription = 17, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
423 _OrthancPluginService_CallHttpClient = 18, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
424 _OrthancPluginService_RegisterErrorCode = 19, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
425 _OrthancPluginService_RegisterDictionaryTag = 20, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
426 _OrthancPluginService_DicomBufferToJson = 21, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
427 _OrthancPluginService_DicomInstanceToJson = 22, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
428 _OrthancPluginService_CreateDicom = 23, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
429 _OrthancPluginService_ComputeMd5 = 24, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
430 _OrthancPluginService_ComputeSha1 = 25, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
431 _OrthancPluginService_LookupDictionary = 26, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
432 _OrthancPluginService_CallHttpClient2 = 27, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
433 _OrthancPluginService_GenerateUuid = 28, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
434 _OrthancPluginService_RegisterPrivateDictionaryTag = 29, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
435 _OrthancPluginService_AutodetectMimeType = 30, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
436 _OrthancPluginService_SetMetricsValue = 31, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
437 _OrthancPluginService_EncodeDicomWebJson = 32, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
438 _OrthancPluginService_EncodeDicomWebXml = 33, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
439 _OrthancPluginService_ChunkedHttpClient = 34, /* New in Orthanc 1.5.7 */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
440 _OrthancPluginService_GetTagName = 35, /* New in Orthanc 1.5.7 */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
441 _OrthancPluginService_EncodeDicomWebJson2 = 36, /* New in Orthanc 1.7.0 */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
442 _OrthancPluginService_EncodeDicomWebXml2 = 37, /* New in Orthanc 1.7.0 */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
443 _OrthancPluginService_CreateMemoryBuffer = 38, /* New in Orthanc 1.7.0 */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
444 _OrthancPluginService_GenerateRestApiAuthorizationToken = 39, /* New in Orthanc 1.8.1 */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
445 _OrthancPluginService_CreateMemoryBuffer64 = 40, /* New in Orthanc 1.9.0 */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
446 _OrthancPluginService_CreateDicom2 = 41, /* New in Orthanc 1.9.0 */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
447 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
448 /* Registration of callbacks */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
449 _OrthancPluginService_RegisterRestCallback = 1000, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
450 _OrthancPluginService_RegisterOnStoredInstanceCallback = 1001, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
451 _OrthancPluginService_RegisterStorageArea = 1002, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
452 _OrthancPluginService_RegisterOnChangeCallback = 1003, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
453 _OrthancPluginService_RegisterRestCallbackNoLock = 1004, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
454 _OrthancPluginService_RegisterWorklistCallback = 1005, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
455 _OrthancPluginService_RegisterDecodeImageCallback = 1006, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
456 _OrthancPluginService_RegisterIncomingHttpRequestFilter = 1007, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
457 _OrthancPluginService_RegisterFindCallback = 1008, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
458 _OrthancPluginService_RegisterMoveCallback = 1009, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
459 _OrthancPluginService_RegisterIncomingHttpRequestFilter2 = 1010, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
460 _OrthancPluginService_RegisterRefreshMetricsCallback = 1011, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
461 _OrthancPluginService_RegisterChunkedRestCallback = 1012, /* New in Orthanc 1.5.7 */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
462 _OrthancPluginService_RegisterStorageCommitmentScpCallback = 1013, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
463 _OrthancPluginService_RegisterIncomingDicomInstanceFilter = 1014, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
464 _OrthancPluginService_RegisterTranscoderCallback = 1015, /* New in Orthanc 1.7.0 */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
465 _OrthancPluginService_RegisterStorageArea2 = 1016, /* New in Orthanc 1.9.0 */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
466 _OrthancPluginService_RegisterIncomingCStoreInstanceFilter = 1017, /* New in Orthanc 1.10.0 */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
467 _OrthancPluginService_RegisterReceivedInstanceCallback = 1018, /* New in Orthanc 1.10.0 */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
468 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
469 /* Sending answers to REST calls */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
470 _OrthancPluginService_AnswerBuffer = 2000, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
471 _OrthancPluginService_CompressAndAnswerPngImage = 2001, /* Unused as of Orthanc 0.9.4 */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
472 _OrthancPluginService_Redirect = 2002, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
473 _OrthancPluginService_SendHttpStatusCode = 2003, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
474 _OrthancPluginService_SendUnauthorized = 2004, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
475 _OrthancPluginService_SendMethodNotAllowed = 2005, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
476 _OrthancPluginService_SetCookie = 2006, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
477 _OrthancPluginService_SetHttpHeader = 2007, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
478 _OrthancPluginService_StartMultipartAnswer = 2008, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
479 _OrthancPluginService_SendMultipartItem = 2009, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
480 _OrthancPluginService_SendHttpStatus = 2010, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
481 _OrthancPluginService_CompressAndAnswerImage = 2011, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
482 _OrthancPluginService_SendMultipartItem2 = 2012, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
483 _OrthancPluginService_SetHttpErrorDetails = 2013, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
484 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
485 /* Access to the Orthanc database and API */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
486 _OrthancPluginService_GetDicomForInstance = 3000, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
487 _OrthancPluginService_RestApiGet = 3001, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
488 _OrthancPluginService_RestApiPost = 3002, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
489 _OrthancPluginService_RestApiDelete = 3003, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
490 _OrthancPluginService_RestApiPut = 3004, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
491 _OrthancPluginService_LookupPatient = 3005, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
492 _OrthancPluginService_LookupStudy = 3006, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
493 _OrthancPluginService_LookupSeries = 3007, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
494 _OrthancPluginService_LookupInstance = 3008, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
495 _OrthancPluginService_LookupStudyWithAccessionNumber = 3009, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
496 _OrthancPluginService_RestApiGetAfterPlugins = 3010, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
497 _OrthancPluginService_RestApiPostAfterPlugins = 3011, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
498 _OrthancPluginService_RestApiDeleteAfterPlugins = 3012, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
499 _OrthancPluginService_RestApiPutAfterPlugins = 3013, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
500 _OrthancPluginService_ReconstructMainDicomTags = 3014, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
501 _OrthancPluginService_RestApiGet2 = 3015, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
502 _OrthancPluginService_CallRestApi = 3016, /* New in Orthanc 1.9.2 */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
503 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
504 /* Access to DICOM instances */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
505 _OrthancPluginService_GetInstanceRemoteAet = 4000, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
506 _OrthancPluginService_GetInstanceSize = 4001, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
507 _OrthancPluginService_GetInstanceData = 4002, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
508 _OrthancPluginService_GetInstanceJson = 4003, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
509 _OrthancPluginService_GetInstanceSimplifiedJson = 4004, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
510 _OrthancPluginService_HasInstanceMetadata = 4005, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
511 _OrthancPluginService_GetInstanceMetadata = 4006, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
512 _OrthancPluginService_GetInstanceOrigin = 4007, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
513 _OrthancPluginService_GetInstanceTransferSyntaxUid = 4008, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
514 _OrthancPluginService_HasInstancePixelData = 4009, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
515 _OrthancPluginService_CreateDicomInstance = 4010, /* New in Orthanc 1.7.0 */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
516 _OrthancPluginService_FreeDicomInstance = 4011, /* New in Orthanc 1.7.0 */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
517 _OrthancPluginService_GetInstanceFramesCount = 4012, /* New in Orthanc 1.7.0 */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
518 _OrthancPluginService_GetInstanceRawFrame = 4013, /* New in Orthanc 1.7.0 */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
519 _OrthancPluginService_GetInstanceDecodedFrame = 4014, /* New in Orthanc 1.7.0 */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
520 _OrthancPluginService_TranscodeDicomInstance = 4015, /* New in Orthanc 1.7.0 */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
521 _OrthancPluginService_SerializeDicomInstance = 4016, /* New in Orthanc 1.7.0 */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
522 _OrthancPluginService_GetInstanceAdvancedJson = 4017, /* New in Orthanc 1.7.0 */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
523 _OrthancPluginService_GetInstanceDicomWebJson = 4018, /* New in Orthanc 1.7.0 */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
524 _OrthancPluginService_GetInstanceDicomWebXml = 4019, /* New in Orthanc 1.7.0 */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
525 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
526 /* Services for plugins implementing a database back-end */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
527 _OrthancPluginService_RegisterDatabaseBackend = 5000, /* New in Orthanc 0.8.6 */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
528 _OrthancPluginService_DatabaseAnswer = 5001, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
529 _OrthancPluginService_RegisterDatabaseBackendV2 = 5002, /* New in Orthanc 0.9.4 */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
530 _OrthancPluginService_StorageAreaCreate = 5003, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
531 _OrthancPluginService_StorageAreaRead = 5004, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
532 _OrthancPluginService_StorageAreaRemove = 5005, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
533 _OrthancPluginService_RegisterDatabaseBackendV3 = 5006, /* New in Orthanc 1.9.2 */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
534 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
535 /* Primitives for handling images */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
536 _OrthancPluginService_GetImagePixelFormat = 6000, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
537 _OrthancPluginService_GetImageWidth = 6001, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
538 _OrthancPluginService_GetImageHeight = 6002, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
539 _OrthancPluginService_GetImagePitch = 6003, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
540 _OrthancPluginService_GetImageBuffer = 6004, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
541 _OrthancPluginService_UncompressImage = 6005, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
542 _OrthancPluginService_FreeImage = 6006, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
543 _OrthancPluginService_CompressImage = 6007, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
544 _OrthancPluginService_ConvertPixelFormat = 6008, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
545 _OrthancPluginService_GetFontsCount = 6009, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
546 _OrthancPluginService_GetFontInfo = 6010, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
547 _OrthancPluginService_DrawText = 6011, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
548 _OrthancPluginService_CreateImage = 6012, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
549 _OrthancPluginService_CreateImageAccessor = 6013, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
550 _OrthancPluginService_DecodeDicomImage = 6014, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
551 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
552 /* Primitives for handling C-Find, C-Move and worklists */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
553 _OrthancPluginService_WorklistAddAnswer = 7000, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
554 _OrthancPluginService_WorklistMarkIncomplete = 7001, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
555 _OrthancPluginService_WorklistIsMatch = 7002, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
556 _OrthancPluginService_WorklistGetDicomQuery = 7003, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
557 _OrthancPluginService_FindAddAnswer = 7004, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
558 _OrthancPluginService_FindMarkIncomplete = 7005, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
559 _OrthancPluginService_GetFindQuerySize = 7006, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
560 _OrthancPluginService_GetFindQueryTag = 7007, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
561 _OrthancPluginService_GetFindQueryTagName = 7008, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
562 _OrthancPluginService_GetFindQueryValue = 7009, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
563 _OrthancPluginService_CreateFindMatcher = 7010, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
564 _OrthancPluginService_FreeFindMatcher = 7011, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
565 _OrthancPluginService_FindMatcherIsMatch = 7012, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
566 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
567 /* Primitives for accessing Orthanc Peers (new in 1.4.2) */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
568 _OrthancPluginService_GetPeers = 8000, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
569 _OrthancPluginService_FreePeers = 8001, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
570 _OrthancPluginService_GetPeersCount = 8003, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
571 _OrthancPluginService_GetPeerName = 8004, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
572 _OrthancPluginService_GetPeerUrl = 8005, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
573 _OrthancPluginService_CallPeerApi = 8006, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
574 _OrthancPluginService_GetPeerUserProperty = 8007, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
575 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
576 /* Primitives for handling jobs (new in 1.4.2) */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
577 _OrthancPluginService_CreateJob = 9000, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
578 _OrthancPluginService_FreeJob = 9001, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
579 _OrthancPluginService_SubmitJob = 9002, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
580 _OrthancPluginService_RegisterJobsUnserializer = 9003, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
581 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
582 _OrthancPluginService_INTERNAL = 0x7fffffff |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
583 } _OrthancPluginService; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
584 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
585 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
586 typedef enum |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
587 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
588 _OrthancPluginProperty_Description = 1, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
589 _OrthancPluginProperty_RootUri = 2, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
590 _OrthancPluginProperty_OrthancExplorer = 3, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
591 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
592 _OrthancPluginProperty_INTERNAL = 0x7fffffff |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
593 } _OrthancPluginProperty; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
594 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
595 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
596 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
597 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
598 * The memory layout of the pixels of an image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
599 * @ingroup Images |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
600 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
601 typedef enum |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
602 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
603 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
604 * @brief Graylevel 8bpp image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
605 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
606 * The image is graylevel. Each pixel is unsigned and stored in |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
607 * one byte. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
608 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
609 OrthancPluginPixelFormat_Grayscale8 = 1, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
610 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
611 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
612 * @brief Graylevel, unsigned 16bpp image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
613 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
614 * The image is graylevel. Each pixel is unsigned and stored in |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
615 * two bytes. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
616 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
617 OrthancPluginPixelFormat_Grayscale16 = 2, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
618 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
619 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
620 * @brief Graylevel, signed 16bpp image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
621 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
622 * The image is graylevel. Each pixel is signed and stored in two |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
623 * bytes. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
624 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
625 OrthancPluginPixelFormat_SignedGrayscale16 = 3, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
626 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
627 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
628 * @brief Color image in RGB24 format. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
629 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
630 * This format describes a color image. The pixels are stored in 3 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
631 * consecutive bytes. The memory layout is RGB. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
632 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
633 OrthancPluginPixelFormat_RGB24 = 4, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
634 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
635 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
636 * @brief Color image in RGBA32 format. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
637 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
638 * This format describes a color image. The pixels are stored in 4 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
639 * consecutive bytes. The memory layout is RGBA. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
640 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
641 OrthancPluginPixelFormat_RGBA32 = 5, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
642 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
643 OrthancPluginPixelFormat_Unknown = 6, /*!< Unknown pixel format */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
644 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
645 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
646 * @brief Color image in RGB48 format. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
647 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
648 * This format describes a color image. The pixels are stored in 6 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
649 * consecutive bytes. The memory layout is RRGGBB. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
650 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
651 OrthancPluginPixelFormat_RGB48 = 7, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
652 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
653 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
654 * @brief Graylevel, unsigned 32bpp image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
655 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
656 * The image is graylevel. Each pixel is unsigned and stored in |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
657 * four bytes. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
658 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
659 OrthancPluginPixelFormat_Grayscale32 = 8, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
660 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
661 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
662 * @brief Graylevel, floating-point 32bpp image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
663 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
664 * The image is graylevel. Each pixel is floating-point and stored |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
665 * in four bytes. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
666 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
667 OrthancPluginPixelFormat_Float32 = 9, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
668 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
669 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
670 * @brief Color image in BGRA32 format. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
671 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
672 * This format describes a color image. The pixels are stored in 4 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
673 * consecutive bytes. The memory layout is BGRA. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
674 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
675 OrthancPluginPixelFormat_BGRA32 = 10, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
676 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
677 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
678 * @brief Graylevel, unsigned 64bpp image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
679 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
680 * The image is graylevel. Each pixel is unsigned and stored in |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
681 * eight bytes. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
682 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
683 OrthancPluginPixelFormat_Grayscale64 = 11, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
684 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
685 _OrthancPluginPixelFormat_INTERNAL = 0x7fffffff |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
686 } OrthancPluginPixelFormat; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
687 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
688 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
689 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
690 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
691 * The content types that are supported by Orthanc plugins. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
692 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
693 typedef enum |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
694 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
695 OrthancPluginContentType_Unknown = 0, /*!< Unknown content type */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
696 OrthancPluginContentType_Dicom = 1, /*!< DICOM */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
697 OrthancPluginContentType_DicomAsJson = 2, /*!< JSON summary of a DICOM file */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
698 OrthancPluginContentType_DicomUntilPixelData = 3, /*!< DICOM Header till pixel data */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
699 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
700 _OrthancPluginContentType_INTERNAL = 0x7fffffff |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
701 } OrthancPluginContentType; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
702 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
703 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
704 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
705 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
706 * The supported types of DICOM resources. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
707 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
708 typedef enum |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
709 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
710 OrthancPluginResourceType_Patient = 0, /*!< Patient */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
711 OrthancPluginResourceType_Study = 1, /*!< Study */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
712 OrthancPluginResourceType_Series = 2, /*!< Series */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
713 OrthancPluginResourceType_Instance = 3, /*!< Instance */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
714 OrthancPluginResourceType_None = 4, /*!< Unavailable resource type */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
715 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
716 _OrthancPluginResourceType_INTERNAL = 0x7fffffff |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
717 } OrthancPluginResourceType; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
718 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
719 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
720 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
721 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
722 * The supported types of changes that can be signaled to the change callback. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
723 * @ingroup Callbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
724 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
725 typedef enum |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
726 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
727 OrthancPluginChangeType_CompletedSeries = 0, /*!< Series is now complete */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
728 OrthancPluginChangeType_Deleted = 1, /*!< Deleted resource */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
729 OrthancPluginChangeType_NewChildInstance = 2, /*!< A new instance was added to this resource */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
730 OrthancPluginChangeType_NewInstance = 3, /*!< New instance received */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
731 OrthancPluginChangeType_NewPatient = 4, /*!< New patient created */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
732 OrthancPluginChangeType_NewSeries = 5, /*!< New series created */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
733 OrthancPluginChangeType_NewStudy = 6, /*!< New study created */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
734 OrthancPluginChangeType_StablePatient = 7, /*!< Timeout: No new instance in this patient */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
735 OrthancPluginChangeType_StableSeries = 8, /*!< Timeout: No new instance in this series */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
736 OrthancPluginChangeType_StableStudy = 9, /*!< Timeout: No new instance in this study */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
737 OrthancPluginChangeType_OrthancStarted = 10, /*!< Orthanc has started */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
738 OrthancPluginChangeType_OrthancStopped = 11, /*!< Orthanc is stopping */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
739 OrthancPluginChangeType_UpdatedAttachment = 12, /*!< Some user-defined attachment has changed for this resource */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
740 OrthancPluginChangeType_UpdatedMetadata = 13, /*!< Some user-defined metadata has changed for this resource */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
741 OrthancPluginChangeType_UpdatedPeers = 14, /*!< The list of Orthanc peers has changed */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
742 OrthancPluginChangeType_UpdatedModalities = 15, /*!< The list of DICOM modalities has changed */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
743 OrthancPluginChangeType_JobSubmitted = 16, /*!< New Job submitted */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
744 OrthancPluginChangeType_JobSuccess = 17, /*!< A Job has completed successfully */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
745 OrthancPluginChangeType_JobFailure = 18, /*!< A Job has failed */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
746 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
747 _OrthancPluginChangeType_INTERNAL = 0x7fffffff |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
748 } OrthancPluginChangeType; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
749 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
750 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
751 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
752 * The compression algorithms that are supported by the Orthanc core. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
753 * @ingroup Images |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
754 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
755 typedef enum |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
756 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
757 OrthancPluginCompressionType_Zlib = 0, /*!< Standard zlib compression */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
758 OrthancPluginCompressionType_ZlibWithSize = 1, /*!< zlib, prefixed with uncompressed size (uint64_t) */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
759 OrthancPluginCompressionType_Gzip = 2, /*!< Standard gzip compression */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
760 OrthancPluginCompressionType_GzipWithSize = 3, /*!< gzip, prefixed with uncompressed size (uint64_t) */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
761 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
762 _OrthancPluginCompressionType_INTERNAL = 0x7fffffff |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
763 } OrthancPluginCompressionType; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
764 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
765 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
766 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
767 * The image formats that are supported by the Orthanc core. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
768 * @ingroup Images |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
769 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
770 typedef enum |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
771 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
772 OrthancPluginImageFormat_Png = 0, /*!< Image compressed using PNG */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
773 OrthancPluginImageFormat_Jpeg = 1, /*!< Image compressed using JPEG */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
774 OrthancPluginImageFormat_Dicom = 2, /*!< Image compressed using DICOM */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
775 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
776 _OrthancPluginImageFormat_INTERNAL = 0x7fffffff |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
777 } OrthancPluginImageFormat; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
778 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
779 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
780 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
781 * The value representations present in the DICOM standard (version 2013). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
782 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
783 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
784 typedef enum |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
785 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
786 OrthancPluginValueRepresentation_AE = 1, /*!< Application Entity */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
787 OrthancPluginValueRepresentation_AS = 2, /*!< Age String */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
788 OrthancPluginValueRepresentation_AT = 3, /*!< Attribute Tag */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
789 OrthancPluginValueRepresentation_CS = 4, /*!< Code String */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
790 OrthancPluginValueRepresentation_DA = 5, /*!< Date */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
791 OrthancPluginValueRepresentation_DS = 6, /*!< Decimal String */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
792 OrthancPluginValueRepresentation_DT = 7, /*!< Date Time */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
793 OrthancPluginValueRepresentation_FD = 8, /*!< Floating Point Double */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
794 OrthancPluginValueRepresentation_FL = 9, /*!< Floating Point Single */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
795 OrthancPluginValueRepresentation_IS = 10, /*!< Integer String */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
796 OrthancPluginValueRepresentation_LO = 11, /*!< Long String */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
797 OrthancPluginValueRepresentation_LT = 12, /*!< Long Text */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
798 OrthancPluginValueRepresentation_OB = 13, /*!< Other Byte String */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
799 OrthancPluginValueRepresentation_OF = 14, /*!< Other Float String */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
800 OrthancPluginValueRepresentation_OW = 15, /*!< Other Word String */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
801 OrthancPluginValueRepresentation_PN = 16, /*!< Person Name */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
802 OrthancPluginValueRepresentation_SH = 17, /*!< Short String */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
803 OrthancPluginValueRepresentation_SL = 18, /*!< Signed Long */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
804 OrthancPluginValueRepresentation_SQ = 19, /*!< Sequence of Items */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
805 OrthancPluginValueRepresentation_SS = 20, /*!< Signed Short */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
806 OrthancPluginValueRepresentation_ST = 21, /*!< Short Text */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
807 OrthancPluginValueRepresentation_TM = 22, /*!< Time */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
808 OrthancPluginValueRepresentation_UI = 23, /*!< Unique Identifier (UID) */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
809 OrthancPluginValueRepresentation_UL = 24, /*!< Unsigned Long */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
810 OrthancPluginValueRepresentation_UN = 25, /*!< Unknown */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
811 OrthancPluginValueRepresentation_US = 26, /*!< Unsigned Short */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
812 OrthancPluginValueRepresentation_UT = 27, /*!< Unlimited Text */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
813 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
814 _OrthancPluginValueRepresentation_INTERNAL = 0x7fffffff |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
815 } OrthancPluginValueRepresentation; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
816 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
817 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
818 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
819 * The possible output formats for a DICOM-to-JSON conversion. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
820 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
821 * @see OrthancPluginDicomToJson() |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
822 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
823 typedef enum |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
824 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
825 OrthancPluginDicomToJsonFormat_Full = 1, /*!< Full output, with most details */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
826 OrthancPluginDicomToJsonFormat_Short = 2, /*!< Tags output as hexadecimal numbers */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
827 OrthancPluginDicomToJsonFormat_Human = 3, /*!< Human-readable JSON */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
828 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
829 _OrthancPluginDicomToJsonFormat_INTERNAL = 0x7fffffff |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
830 } OrthancPluginDicomToJsonFormat; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
831 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
832 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
833 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
834 * Flags to customize a DICOM-to-JSON conversion. By default, binary |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
835 * tags are formatted using Data URI scheme. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
836 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
837 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
838 typedef enum |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
839 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
840 OrthancPluginDicomToJsonFlags_None = 0, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
841 OrthancPluginDicomToJsonFlags_IncludeBinary = (1 << 0), /*!< Include the binary tags */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
842 OrthancPluginDicomToJsonFlags_IncludePrivateTags = (1 << 1), /*!< Include the private tags */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
843 OrthancPluginDicomToJsonFlags_IncludeUnknownTags = (1 << 2), /*!< Include the tags unknown by the dictionary */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
844 OrthancPluginDicomToJsonFlags_IncludePixelData = (1 << 3), /*!< Include the pixel data */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
845 OrthancPluginDicomToJsonFlags_ConvertBinaryToAscii = (1 << 4), /*!< Output binary tags as-is, dropping non-ASCII */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
846 OrthancPluginDicomToJsonFlags_ConvertBinaryToNull = (1 << 5), /*!< Signal binary tags as null values */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
847 OrthancPluginDicomToJsonFlags_StopAfterPixelData = (1 << 6), /*!< Stop processing after pixel data (new in 1.9.1) */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
848 OrthancPluginDicomToJsonFlags_SkipGroupLengths = (1 << 7), /*!< Skip tags whose element is zero (new in 1.9.1) */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
849 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
850 _OrthancPluginDicomToJsonFlags_INTERNAL = 0x7fffffff |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
851 } OrthancPluginDicomToJsonFlags; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
852 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
853 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
854 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
855 * Flags to the creation of a DICOM file. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
856 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
857 * @see OrthancPluginCreateDicom() |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
858 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
859 typedef enum |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
860 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
861 OrthancPluginCreateDicomFlags_None = 0, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
862 OrthancPluginCreateDicomFlags_DecodeDataUriScheme = (1 << 0), /*!< Decode fields encoded using data URI scheme */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
863 OrthancPluginCreateDicomFlags_GenerateIdentifiers = (1 << 1), /*!< Automatically generate DICOM identifiers */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
864 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
865 _OrthancPluginCreateDicomFlags_INTERNAL = 0x7fffffff |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
866 } OrthancPluginCreateDicomFlags; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
867 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
868 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
869 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
870 * The constraints on the DICOM identifiers that must be supported |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
871 * by the database plugins. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
872 * @deprecated Plugins using OrthancPluginConstraintType will be faster |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
873 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
874 typedef enum |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
875 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
876 OrthancPluginIdentifierConstraint_Equal = 1, /*!< Equal */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
877 OrthancPluginIdentifierConstraint_SmallerOrEqual = 2, /*!< Less or equal */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
878 OrthancPluginIdentifierConstraint_GreaterOrEqual = 3, /*!< More or equal */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
879 OrthancPluginIdentifierConstraint_Wildcard = 4, /*!< Case-sensitive wildcard matching (with * and ?) */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
880 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
881 _OrthancPluginIdentifierConstraint_INTERNAL = 0x7fffffff |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
882 } OrthancPluginIdentifierConstraint; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
883 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
884 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
885 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
886 * The constraints on the tags (main DICOM tags and identifier tags) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
887 * that must be supported by the database plugins. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
888 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
889 typedef enum |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
890 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
891 OrthancPluginConstraintType_Equal = 1, /*!< Equal */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
892 OrthancPluginConstraintType_SmallerOrEqual = 2, /*!< Less or equal */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
893 OrthancPluginConstraintType_GreaterOrEqual = 3, /*!< More or equal */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
894 OrthancPluginConstraintType_Wildcard = 4, /*!< Wildcard matching */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
895 OrthancPluginConstraintType_List = 5, /*!< List of values */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
896 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
897 _OrthancPluginConstraintType_INTERNAL = 0x7fffffff |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
898 } OrthancPluginConstraintType; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
899 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
900 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
901 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
902 * The origin of a DICOM instance that has been received by Orthanc. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
903 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
904 typedef enum |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
905 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
906 OrthancPluginInstanceOrigin_Unknown = 1, /*!< Unknown origin */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
907 OrthancPluginInstanceOrigin_DicomProtocol = 2, /*!< Instance received through DICOM protocol */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
908 OrthancPluginInstanceOrigin_RestApi = 3, /*!< Instance received through REST API of Orthanc */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
909 OrthancPluginInstanceOrigin_Plugin = 4, /*!< Instance added to Orthanc by a plugin */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
910 OrthancPluginInstanceOrigin_Lua = 5, /*!< Instance added to Orthanc by a Lua script */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
911 OrthancPluginInstanceOrigin_WebDav = 6, /*!< Instance received through WebDAV (new in 1.8.0) */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
912 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
913 _OrthancPluginInstanceOrigin_INTERNAL = 0x7fffffff |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
914 } OrthancPluginInstanceOrigin; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
915 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
916 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
917 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
918 * The possible status for one single step of a job. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
919 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
920 typedef enum |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
921 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
922 OrthancPluginJobStepStatus_Success = 1, /*!< The job has successfully executed all its steps */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
923 OrthancPluginJobStepStatus_Failure = 2, /*!< The job has failed while executing this step */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
924 OrthancPluginJobStepStatus_Continue = 3 /*!< The job has still data to process after this step */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
925 } OrthancPluginJobStepStatus; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
926 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
927 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
928 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
929 * Explains why the job should stop and release the resources it has |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
930 * allocated. This is especially important to disambiguate between |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
931 * the "paused" condition and the "final" conditions (success, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
932 * failure, or canceled). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
933 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
934 typedef enum |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
935 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
936 OrthancPluginJobStopReason_Success = 1, /*!< The job has succeeded */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
937 OrthancPluginJobStopReason_Paused = 2, /*!< The job was paused, and will be resumed later */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
938 OrthancPluginJobStopReason_Failure = 3, /*!< The job has failed, and might be resubmitted later */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
939 OrthancPluginJobStopReason_Canceled = 4 /*!< The job was canceled, and might be resubmitted later */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
940 } OrthancPluginJobStopReason; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
941 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
942 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
943 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
944 * The available types of metrics. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
945 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
946 typedef enum |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
947 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
948 OrthancPluginMetricsType_Default = 0, /*!< Default metrics */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
949 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
950 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
951 * This metrics represents a time duration. Orthanc will keep the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
952 * maximum value of the metrics over a sliding window of ten |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
953 * seconds, which is useful if the metrics is sampled frequently. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
954 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
955 OrthancPluginMetricsType_Timer = 1 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
956 } OrthancPluginMetricsType; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
957 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
958 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
959 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
960 * The available modes to export a binary DICOM tag into a DICOMweb |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
961 * JSON or XML document. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
962 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
963 typedef enum |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
964 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
965 OrthancPluginDicomWebBinaryMode_Ignore = 0, /*!< Don't include binary tags */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
966 OrthancPluginDicomWebBinaryMode_InlineBinary = 1, /*!< Inline encoding using Base64 */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
967 OrthancPluginDicomWebBinaryMode_BulkDataUri = 2 /*!< Use a bulk data URI field */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
968 } OrthancPluginDicomWebBinaryMode; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
969 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
970 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
971 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
972 * The available values for the Failure Reason (0008,1197) during |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
973 * storage commitment. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
974 * http://dicom.nema.org/medical/dicom/2019e/output/chtml/part03/sect_C.14.html#sect_C.14.1.1 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
975 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
976 typedef enum |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
977 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
978 OrthancPluginStorageCommitmentFailureReason_Success = 0, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
979 /*!< Success: The DICOM instance is properly stored in the SCP */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
980 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
981 OrthancPluginStorageCommitmentFailureReason_ProcessingFailure = 1, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
982 /*!< 0110H: A general failure in processing the operation was encountered */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
983 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
984 OrthancPluginStorageCommitmentFailureReason_NoSuchObjectInstance = 2, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
985 /*!< 0112H: One or more of the elements in the Referenced SOP |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
986 Instance Sequence was not available */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
987 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
988 OrthancPluginStorageCommitmentFailureReason_ResourceLimitation = 3, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
989 /*!< 0213H: The SCP does not currently have enough resources to |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
990 store the requested SOP Instance(s) */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
991 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
992 OrthancPluginStorageCommitmentFailureReason_ReferencedSOPClassNotSupported = 4, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
993 /*!< 0122H: Storage Commitment has been requested for a SOP |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
994 Instance with a SOP Class that is not supported by the SCP */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
995 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
996 OrthancPluginStorageCommitmentFailureReason_ClassInstanceConflict = 5, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
997 /*!< 0119H: The SOP Class of an element in the Referenced SOP |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
998 Instance Sequence did not correspond to the SOP class registered |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
999 for this SOP Instance at the SCP */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1000 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1001 OrthancPluginStorageCommitmentFailureReason_DuplicateTransactionUID = 6 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1002 /*!< 0131H: The Transaction UID of the Storage Commitment Request |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1003 is already in use */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1004 } OrthancPluginStorageCommitmentFailureReason; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1005 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1006 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1007 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1008 * The action to be taken after ReceivedInstanceCallback is triggered |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1009 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1010 typedef enum |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1011 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1012 OrthancPluginReceivedInstanceAction_KeepAsIs = 1, /*!< Keep the instance as is */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1013 OrthancPluginReceivedInstanceAction_Modify = 2, /*!< Modify the instance */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1014 OrthancPluginReceivedInstanceAction_Discard = 3, /*!< Discard the instance */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1015 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1016 _OrthancPluginReceivedInstanceAction_INTERNAL = 0x7fffffff |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1017 } OrthancPluginReceivedInstanceAction; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1018 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1019 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1020 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1021 * @brief A 32-bit memory buffer allocated by the core system of Orthanc. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1022 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1023 * A memory buffer allocated by the core system of Orthanc. When the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1024 * content of the buffer is not useful anymore, it must be free by a |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1025 * call to ::OrthancPluginFreeMemoryBuffer(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1026 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1027 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1028 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1029 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1030 * @brief The content of the buffer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1031 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1032 void* data; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1033 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1034 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1035 * @brief The number of bytes in the buffer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1036 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1037 uint32_t size; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1038 } OrthancPluginMemoryBuffer; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1039 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1040 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1041 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1042 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1043 * @brief A 64-bit memory buffer allocated by the core system of Orthanc. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1044 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1045 * A memory buffer allocated by the core system of Orthanc. When the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1046 * content of the buffer is not useful anymore, it must be free by a |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1047 * call to ::OrthancPluginFreeMemoryBuffer64(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1048 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1049 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1050 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1051 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1052 * @brief The content of the buffer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1053 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1054 void* data; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1055 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1056 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1057 * @brief The number of bytes in the buffer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1058 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1059 uint64_t size; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1060 } OrthancPluginMemoryBuffer64; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1061 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1062 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1063 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1064 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1065 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1066 * @brief Opaque structure that represents the HTTP connection to the client application. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1067 * @ingroup Callback |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1068 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1069 typedef struct _OrthancPluginRestOutput_t OrthancPluginRestOutput; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1070 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1071 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1072 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1073 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1074 * @brief Opaque structure that represents a DICOM instance that is managed by the Orthanc core. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1075 * @ingroup DicomInstance |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1076 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1077 typedef struct _OrthancPluginDicomInstance_t OrthancPluginDicomInstance; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1078 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1079 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1080 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1081 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1082 * @brief Opaque structure that represents an image that is uncompressed in memory. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1083 * @ingroup Images |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1084 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1085 typedef struct _OrthancPluginImage_t OrthancPluginImage; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1086 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1087 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1088 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1089 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1090 * @brief Opaque structure that represents the storage area that is actually used by Orthanc. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1091 * @ingroup Images |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1092 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1093 typedef struct _OrthancPluginStorageArea_t OrthancPluginStorageArea; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1094 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1095 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1096 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1097 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1098 * @brief Opaque structure to an object that represents a C-Find query for worklists. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1099 * @ingroup DicomCallbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1100 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1101 typedef struct _OrthancPluginWorklistQuery_t OrthancPluginWorklistQuery; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1102 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1103 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1104 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1105 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1106 * @brief Opaque structure to an object that represents the answers to a C-Find query for worklists. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1107 * @ingroup DicomCallbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1108 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1109 typedef struct _OrthancPluginWorklistAnswers_t OrthancPluginWorklistAnswers; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1110 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1111 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1112 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1113 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1114 * @brief Opaque structure to an object that represents a C-Find query. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1115 * @ingroup DicomCallbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1116 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1117 typedef struct _OrthancPluginFindQuery_t OrthancPluginFindQuery; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1118 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1119 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1120 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1121 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1122 * @brief Opaque structure to an object that represents the answers to a C-Find query for worklists. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1123 * @ingroup DicomCallbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1124 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1125 typedef struct _OrthancPluginFindAnswers_t OrthancPluginFindAnswers; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1126 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1127 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1128 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1129 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1130 * @brief Opaque structure to an object that can be used to check whether a DICOM instance matches a C-Find query. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1131 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1132 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1133 typedef struct _OrthancPluginFindMatcher_t OrthancPluginFindMatcher; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1134 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1135 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1136 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1137 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1138 * @brief Opaque structure to the set of remote Orthanc Peers that are known to the local Orthanc server. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1139 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1140 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1141 typedef struct _OrthancPluginPeers_t OrthancPluginPeers; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1142 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1143 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1144 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1145 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1146 * @brief Opaque structure to a job to be executed by Orthanc. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1147 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1148 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1149 typedef struct _OrthancPluginJob_t OrthancPluginJob; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1150 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1151 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1152 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1153 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1154 * @brief Opaque structure that represents a node in a JSON or XML |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1155 * document used in DICOMweb. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1156 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1157 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1158 typedef struct _OrthancPluginDicomWebNode_t OrthancPluginDicomWebNode; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1159 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1160 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1161 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1162 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1163 * @brief Signature of a callback function that answers to a REST request. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1164 * @ingroup Callbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1165 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1166 typedef OrthancPluginErrorCode (*OrthancPluginRestCallback) ( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1167 OrthancPluginRestOutput* output, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1168 const char* url, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1169 const OrthancPluginHttpRequest* request); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1170 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1171 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1172 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1173 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1174 * @brief Signature of a callback function that is triggered when Orthanc stores a new DICOM instance. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1175 * @ingroup Callbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1176 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1177 typedef OrthancPluginErrorCode (*OrthancPluginOnStoredInstanceCallback) ( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1178 const OrthancPluginDicomInstance* instance, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1179 const char* instanceId); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1180 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1181 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1182 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1183 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1184 * @brief Signature of a callback function that is triggered when a change happens to some DICOM resource. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1185 * @ingroup Callbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1186 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1187 typedef OrthancPluginErrorCode (*OrthancPluginOnChangeCallback) ( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1188 OrthancPluginChangeType changeType, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1189 OrthancPluginResourceType resourceType, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1190 const char* resourceId); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1191 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1192 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1193 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1194 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1195 * @brief Signature of a callback function to decode a DICOM instance as an image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1196 * @ingroup Callbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1197 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1198 typedef OrthancPluginErrorCode (*OrthancPluginDecodeImageCallback) ( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1199 OrthancPluginImage** target, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1200 const void* dicom, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1201 const uint32_t size, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1202 uint32_t frameIndex); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1203 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1204 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1205 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1206 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1207 * @brief Signature of a function to free dynamic memory. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1208 * @ingroup Callbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1209 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1210 typedef void (*OrthancPluginFree) (void* buffer); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1211 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1212 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1213 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1214 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1215 * @brief Signature of a function to set the content of a node |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1216 * encoding a binary DICOM tag, into a JSON or XML document |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1217 * generated for DICOMweb. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1218 * @ingroup Callbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1219 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1220 typedef void (*OrthancPluginDicomWebSetBinaryNode) ( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1221 OrthancPluginDicomWebNode* node, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1222 OrthancPluginDicomWebBinaryMode mode, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1223 const char* bulkDataUri); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1224 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1225 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1226 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1227 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1228 * @brief Callback for writing to the storage area. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1229 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1230 * Signature of a callback function that is triggered when Orthanc writes a file to the storage area. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1231 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1232 * @param uuid The UUID of the file. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1233 * @param content The content of the file. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1234 * @param size The size of the file. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1235 * @param type The content type corresponding to this file. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1236 * @return 0 if success, other value if error. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1237 * @ingroup Callbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1238 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1239 typedef OrthancPluginErrorCode (*OrthancPluginStorageCreate) ( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1240 const char* uuid, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1241 const void* content, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1242 int64_t size, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1243 OrthancPluginContentType type); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1244 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1245 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1246 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1247 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1248 * @brief Callback for reading from the storage area. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1249 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1250 * Signature of a callback function that is triggered when Orthanc reads a file from the storage area. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1251 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1252 * @param content The content of the file (output). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1253 * @param size The size of the file (output). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1254 * @param uuid The UUID of the file of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1255 * @param type The content type corresponding to this file. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1256 * @return 0 if success, other value if error. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1257 * @ingroup Callbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1258 * @deprecated New plugins should use OrthancPluginStorageRead2 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1259 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1260 * @warning The "content" buffer *must* have been allocated using |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1261 * the "malloc()" function of your C standard library (i.e. nor |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1262 * "new[]", neither a pointer to a buffer). The "free()" function of |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1263 * your C standard library will automatically be invoked on the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1264 * "content" pointer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1265 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1266 typedef OrthancPluginErrorCode (*OrthancPluginStorageRead) ( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1267 void** content, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1268 int64_t* size, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1269 const char* uuid, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1270 OrthancPluginContentType type); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1271 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1272 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1273 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1274 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1275 * @brief Callback for reading a whole file from the storage area. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1276 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1277 * Signature of a callback function that is triggered when Orthanc |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1278 * reads a whole file from the storage area. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1279 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1280 * @param target Memory buffer where to store the content of the file. It must be allocated by the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1281 * plugin using OrthancPluginCreateMemoryBuffer64(). The core of Orthanc will free it. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1282 * @param uuid The UUID of the file of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1283 * @param type The content type corresponding to this file. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1284 * @ingroup Callbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1285 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1286 typedef OrthancPluginErrorCode (*OrthancPluginStorageReadWhole) ( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1287 OrthancPluginMemoryBuffer64* target, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1288 const char* uuid, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1289 OrthancPluginContentType type); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1290 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1291 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1292 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1293 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1294 * @brief Callback for reading a range of a file from the storage area. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1295 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1296 * Signature of a callback function that is triggered when Orthanc |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1297 * reads a portion of a file from the storage area. Orthanc |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1298 * indicates the start position and the length of the range. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1299 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1300 * @param target Memory buffer where to store the content of the range. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1301 * The memory buffer is allocated and freed by Orthanc. The length of the range |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1302 * of interest corresponds to the size of this buffer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1303 * @param uuid The UUID of the file of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1304 * @param type The content type corresponding to this file. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1305 * @param rangeStart Start position of the requested range in the file. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1306 * @return 0 if success, other value if error. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1307 * @ingroup Callbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1308 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1309 typedef OrthancPluginErrorCode (*OrthancPluginStorageReadRange) ( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1310 OrthancPluginMemoryBuffer64* target, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1311 const char* uuid, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1312 OrthancPluginContentType type, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1313 uint64_t rangeStart); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1314 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1315 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1316 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1317 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1318 * @brief Callback for removing a file from the storage area. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1319 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1320 * Signature of a callback function that is triggered when Orthanc deletes a file from the storage area. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1321 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1322 * @param uuid The UUID of the file to be removed. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1323 * @param type The content type corresponding to this file. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1324 * @return 0 if success, other value if error. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1325 * @ingroup Callbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1326 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1327 typedef OrthancPluginErrorCode (*OrthancPluginStorageRemove) ( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1328 const char* uuid, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1329 OrthancPluginContentType type); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1330 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1331 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1332 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1333 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1334 * @brief Callback to handle the C-Find SCP requests for worklists. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1335 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1336 * Signature of a callback function that is triggered when Orthanc |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1337 * receives a C-Find SCP request against modality worklists. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1338 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1339 * @param answers The target structure where answers must be stored. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1340 * @param query The worklist query. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1341 * @param issuerAet The Application Entity Title (AET) of the modality from which the request originates. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1342 * @param calledAet The Application Entity Title (AET) of the modality that is called by the request. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1343 * @return 0 if success, other value if error. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1344 * @ingroup DicomCallbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1345 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1346 typedef OrthancPluginErrorCode (*OrthancPluginWorklistCallback) ( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1347 OrthancPluginWorklistAnswers* answers, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1348 const OrthancPluginWorklistQuery* query, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1349 const char* issuerAet, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1350 const char* calledAet); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1351 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1352 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1353 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1354 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1355 * @brief Callback to filter incoming HTTP requests received by Orthanc. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1356 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1357 * Signature of a callback function that is triggered whenever |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1358 * Orthanc receives an HTTP/REST request, and that answers whether |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1359 * this request should be allowed. If the callback returns "0" |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1360 * ("false"), the server answers with HTTP status code 403 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1361 * (Forbidden). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1362 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1363 * Pay attention to the fact that this function may be invoked |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1364 * concurrently by different threads of the Web server of |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1365 * Orthanc. You must implement proper locking if applicable. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1366 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1367 * @param method The HTTP method used by the request. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1368 * @param uri The URI of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1369 * @param ip The IP address of the HTTP client. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1370 * @param headersCount The number of HTTP headers. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1371 * @param headersKeys The keys of the HTTP headers (always converted to low-case). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1372 * @param headersValues The values of the HTTP headers. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1373 * @return 0 if forbidden access, 1 if allowed access, -1 if error. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1374 * @ingroup Callback |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1375 * @deprecated Please instead use OrthancPluginIncomingHttpRequestFilter2() |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1376 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1377 typedef int32_t (*OrthancPluginIncomingHttpRequestFilter) ( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1378 OrthancPluginHttpMethod method, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1379 const char* uri, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1380 const char* ip, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1381 uint32_t headersCount, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1382 const char* const* headersKeys, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1383 const char* const* headersValues); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1384 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1385 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1386 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1387 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1388 * @brief Callback to filter incoming HTTP requests received by Orthanc. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1389 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1390 * Signature of a callback function that is triggered whenever |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1391 * Orthanc receives an HTTP/REST request, and that answers whether |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1392 * this request should be allowed. If the callback returns "0" |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1393 * ("false"), the server answers with HTTP status code 403 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1394 * (Forbidden). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1395 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1396 * Pay attention to the fact that this function may be invoked |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1397 * concurrently by different threads of the Web server of |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1398 * Orthanc. You must implement proper locking if applicable. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1399 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1400 * @param method The HTTP method used by the request. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1401 * @param uri The URI of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1402 * @param ip The IP address of the HTTP client. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1403 * @param headersCount The number of HTTP headers. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1404 * @param headersKeys The keys of the HTTP headers (always converted to low-case). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1405 * @param headersValues The values of the HTTP headers. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1406 * @param getArgumentsCount The number of GET arguments (only for the GET HTTP method). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1407 * @param getArgumentsKeys The keys of the GET arguments (only for the GET HTTP method). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1408 * @param getArgumentsValues The values of the GET arguments (only for the GET HTTP method). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1409 * @return 0 if forbidden access, 1 if allowed access, -1 if error. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1410 * @ingroup Callback |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1411 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1412 typedef int32_t (*OrthancPluginIncomingHttpRequestFilter2) ( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1413 OrthancPluginHttpMethod method, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1414 const char* uri, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1415 const char* ip, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1416 uint32_t headersCount, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1417 const char* const* headersKeys, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1418 const char* const* headersValues, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1419 uint32_t getArgumentsCount, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1420 const char* const* getArgumentsKeys, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1421 const char* const* getArgumentsValues); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1422 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1423 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1424 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1425 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1426 * @brief Callback to handle incoming C-Find SCP requests. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1427 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1428 * Signature of a callback function that is triggered whenever |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1429 * Orthanc receives a C-Find SCP request not concerning modality |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1430 * worklists. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1431 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1432 * @param answers The target structure where answers must be stored. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1433 * @param query The worklist query. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1434 * @param issuerAet The Application Entity Title (AET) of the modality from which the request originates. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1435 * @param calledAet The Application Entity Title (AET) of the modality that is called by the request. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1436 * @return 0 if success, other value if error. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1437 * @ingroup DicomCallbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1438 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1439 typedef OrthancPluginErrorCode (*OrthancPluginFindCallback) ( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1440 OrthancPluginFindAnswers* answers, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1441 const OrthancPluginFindQuery* query, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1442 const char* issuerAet, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1443 const char* calledAet); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1444 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1445 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1446 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1447 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1448 * @brief Callback to handle incoming C-Move SCP requests. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1449 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1450 * Signature of a callback function that is triggered whenever |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1451 * Orthanc receives a C-Move SCP request. The callback receives the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1452 * type of the resource of interest (study, series, instance...) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1453 * together with the DICOM tags containing its identifiers. In turn, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1454 * the plugin must create a driver object that will be responsible |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1455 * for driving the successive move suboperations. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1456 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1457 * @param resourceType The type of the resource of interest. Note |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1458 * that this might be set to ResourceType_None if the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1459 * QueryRetrieveLevel (0008,0052) tag was not provided by the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1460 * issuer (i.e. the originator modality). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1461 * @param patientId Content of the PatientID (0x0010, 0x0020) tag of the resource of interest. Might be NULL. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1462 * @param accessionNumber Content of the AccessionNumber (0x0008, 0x0050) tag. Might be NULL. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1463 * @param studyInstanceUid Content of the StudyInstanceUID (0x0020, 0x000d) tag. Might be NULL. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1464 * @param seriesInstanceUid Content of the SeriesInstanceUID (0x0020, 0x000e) tag. Might be NULL. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1465 * @param sopInstanceUid Content of the SOPInstanceUID (0x0008, 0x0018) tag. Might be NULL. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1466 * @param originatorAet The Application Entity Title (AET) of the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1467 * modality from which the request originates. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1468 * @param sourceAet The Application Entity Title (AET) of the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1469 * modality that should send its DICOM files to another modality. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1470 * @param targetAet The Application Entity Title (AET) of the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1471 * modality that should receive the DICOM files. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1472 * @param originatorId The Message ID issued by the originator modality, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1473 * as found in tag (0000,0110) of the DICOM query emitted by the issuer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1474 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1475 * @return The NULL value if the plugin cannot deal with this query, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1476 * or a pointer to the driver object that is responsible for |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1477 * handling the successive move suboperations. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1478 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1479 * @note If targetAet equals sourceAet, this is actually a query/retrieve operation. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1480 * @ingroup DicomCallbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1481 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1482 typedef void* (*OrthancPluginMoveCallback) ( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1483 OrthancPluginResourceType resourceType, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1484 const char* patientId, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1485 const char* accessionNumber, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1486 const char* studyInstanceUid, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1487 const char* seriesInstanceUid, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1488 const char* sopInstanceUid, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1489 const char* originatorAet, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1490 const char* sourceAet, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1491 const char* targetAet, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1492 uint16_t originatorId); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1493 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1494 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1495 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1496 * @brief Callback to read the size of a C-Move driver. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1497 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1498 * Signature of a callback function that returns the number of |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1499 * C-Move suboperations that are to be achieved by the given C-Move |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1500 * driver. This driver is the return value of a previous call to the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1501 * OrthancPluginMoveCallback() callback. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1502 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1503 * @param moveDriver The C-Move driver of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1504 * @return The number of suboperations. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1505 * @ingroup DicomCallbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1506 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1507 typedef uint32_t (*OrthancPluginGetMoveSize) (void* moveDriver); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1508 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1509 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1510 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1511 * @brief Callback to apply one C-Move suboperation. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1512 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1513 * Signature of a callback function that applies the next C-Move |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1514 * suboperation that os to be achieved by the given C-Move |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1515 * driver. This driver is the return value of a previous call to the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1516 * OrthancPluginMoveCallback() callback. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1517 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1518 * @param moveDriver The C-Move driver of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1519 * @return 0 if success, or the error code if failure. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1520 * @ingroup DicomCallbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1521 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1522 typedef OrthancPluginErrorCode (*OrthancPluginApplyMove) (void* moveDriver); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1523 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1524 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1525 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1526 * @brief Callback to free one C-Move driver. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1527 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1528 * Signature of a callback function that releases the resources |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1529 * allocated by the given C-Move driver. This driver is the return |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1530 * value of a previous call to the OrthancPluginMoveCallback() |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1531 * callback. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1532 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1533 * @param moveDriver The C-Move driver of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1534 * @ingroup DicomCallbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1535 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1536 typedef void (*OrthancPluginFreeMove) (void* moveDriver); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1537 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1538 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1539 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1540 * @brief Callback to finalize one custom job. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1541 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1542 * Signature of a callback function that releases all the resources |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1543 * allocated by the given job. This job is the argument provided to |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1544 * OrthancPluginCreateJob(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1545 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1546 * @param job The job of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1547 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1548 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1549 typedef void (*OrthancPluginJobFinalize) (void* job); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1550 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1551 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1552 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1553 * @brief Callback to check the progress of one custom job. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1554 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1555 * Signature of a callback function that returns the progress of the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1556 * job. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1557 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1558 * @param job The job of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1559 * @return The progress, as a floating-point number ranging from 0 to 1. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1560 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1561 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1562 typedef float (*OrthancPluginJobGetProgress) (void* job); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1563 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1564 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1565 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1566 * @brief Callback to retrieve the content of one custom job. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1567 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1568 * Signature of a callback function that returns human-readable |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1569 * statistics about the job. This statistics must be formatted as a |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1570 * JSON object. This information is notably displayed in the "Jobs" |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1571 * tab of "Orthanc Explorer". |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1572 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1573 * @param job The job of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1574 * @return The statistics, as a JSON object encoded as a string. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1575 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1576 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1577 typedef const char* (*OrthancPluginJobGetContent) (void* job); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1578 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1579 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1580 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1581 * @brief Callback to serialize one custom job. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1582 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1583 * Signature of a callback function that returns a serialized |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1584 * version of the job, formatted as a JSON object. This |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1585 * serialization is stored in the Orthanc database, and is used to |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1586 * reload the job on the restart of Orthanc. The "unserialization" |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1587 * callback (with OrthancPluginJobsUnserializer signature) will |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1588 * receive this serialized object. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1589 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1590 * @param job The job of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1591 * @return The serialized job, as a JSON object encoded as a string. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1592 * @see OrthancPluginRegisterJobsUnserializer() |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1593 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1594 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1595 typedef const char* (*OrthancPluginJobGetSerialized) (void* job); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1596 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1597 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1598 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1599 * @brief Callback to execute one step of a custom job. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1600 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1601 * Signature of a callback function that executes one step in the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1602 * job. The jobs engine of Orthanc will make successive calls to |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1603 * this method, as long as it returns |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1604 * OrthancPluginJobStepStatus_Continue. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1605 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1606 * @param job The job of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1607 * @return The status of execution. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1608 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1609 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1610 typedef OrthancPluginJobStepStatus (*OrthancPluginJobStep) (void* job); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1611 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1612 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1613 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1614 * @brief Callback executed once one custom job leaves the "running" state. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1615 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1616 * Signature of a callback function that is invoked once a job |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1617 * leaves the "running" state. This can happen if the previous call |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1618 * to OrthancPluginJobStep has failed/succeeded, if the host Orthanc |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1619 * server is being stopped, or if the user manually tags the job as |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1620 * paused/canceled. This callback allows the plugin to free |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1621 * resources allocated for running this custom job (e.g. to stop |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1622 * threads, or to remove temporary files). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1623 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1624 * Note that handling pauses might involves a specific treatment |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1625 * (such a stopping threads, but keeping temporary files on the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1626 * disk). This "paused" situation can be checked by looking at the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1627 * "reason" parameter. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1628 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1629 * @param job The job of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1630 * @param reason The reason for leaving the "running" state. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1631 * @return 0 if success, or the error code if failure. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1632 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1633 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1634 typedef OrthancPluginErrorCode (*OrthancPluginJobStop) (void* job, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1635 OrthancPluginJobStopReason reason); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1636 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1637 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1638 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1639 * @brief Callback executed once one stopped custom job is started again. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1640 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1641 * Signature of a callback function that is invoked once a job |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1642 * leaves the "failure/canceled" state, to be started again. This |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1643 * function will typically reset the progress to zero. Note that |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1644 * before being actually executed, the job would first be tagged as |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1645 * "pending" in the Orthanc jobs engine. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1646 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1647 * @param job The job of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1648 * @return 0 if success, or the error code if failure. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1649 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1650 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1651 typedef OrthancPluginErrorCode (*OrthancPluginJobReset) (void* job); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1652 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1653 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1654 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1655 * @brief Callback executed to unserialize a custom job. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1656 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1657 * Signature of a callback function that unserializes a job that was |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1658 * saved in the Orthanc database. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1659 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1660 * @param jobType The type of the job, as provided to OrthancPluginCreateJob(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1661 * @param serialized The serialization of the job, as provided by OrthancPluginJobGetSerialized. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1662 * @return The unserialized job (as created by OrthancPluginCreateJob()), or NULL |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1663 * if this unserializer cannot handle this job type. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1664 * @see OrthancPluginRegisterJobsUnserializer() |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1665 * @ingroup Callbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1666 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1667 typedef OrthancPluginJob* (*OrthancPluginJobsUnserializer) (const char* jobType, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1668 const char* serialized); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1669 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1670 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1671 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1672 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1673 * @brief Callback executed to update the metrics of the plugin. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1674 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1675 * Signature of a callback function that is called by Orthanc |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1676 * whenever a monitoring tool (such as Prometheus) asks the current |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1677 * values of the metrics. This callback gives the plugin a chance to |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1678 * update its metrics, by calling OrthancPluginSetMetricsValue(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1679 * This is typically useful for metrics that are expensive to |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1680 * acquire. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1681 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1682 * @see OrthancPluginRegisterRefreshMetrics() |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1683 * @ingroup Callbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1684 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1685 typedef void (*OrthancPluginRefreshMetricsCallback) (); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1686 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1687 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1688 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1689 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1690 * @brief Callback executed to encode a binary tag in DICOMweb. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1691 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1692 * Signature of a callback function that is called by Orthanc |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1693 * whenever a DICOM tag that contains a binary value must be written |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1694 * to a JSON or XML node, while a DICOMweb document is being |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1695 * generated. The value representation (VR) of the DICOM tag can be |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1696 * OB, OD, OF, OL, OW, or UN. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1697 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1698 * @see OrthancPluginEncodeDicomWebJson() and OrthancPluginEncodeDicomWebXml() |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1699 * @param node The node being generated, as provided by Orthanc. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1700 * @param setter The setter to be used to encode the content of the node. If |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1701 * the setter is not called, the binary tag is not written to the output document. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1702 * @param levelDepth The depth of the node in the DICOM hierarchy of sequences. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1703 * This parameter gives the number of elements in the "levelTagGroup", |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1704 * "levelTagElement", and "levelIndex" arrays. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1705 * @param levelTagGroup The group of the parent DICOM tags in the hierarchy. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1706 * @param levelTagElement The element of the parent DICOM tags in the hierarchy. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1707 * @param levelIndex The index of the node in the parent sequences of the hierarchy. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1708 * @param tagGroup The group of the DICOM tag of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1709 * @param tagElement The element of the DICOM tag of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1710 * @param vr The value representation of the binary DICOM node. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1711 * @ingroup Callbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1712 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1713 typedef void (*OrthancPluginDicomWebBinaryCallback) ( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1714 OrthancPluginDicomWebNode* node, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1715 OrthancPluginDicomWebSetBinaryNode setter, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1716 uint32_t levelDepth, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1717 const uint16_t* levelTagGroup, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1718 const uint16_t* levelTagElement, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1719 const uint32_t* levelIndex, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1720 uint16_t tagGroup, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1721 uint16_t tagElement, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1722 OrthancPluginValueRepresentation vr); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1723 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1724 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1725 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1726 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1727 * @brief Callback executed to encode a binary tag in DICOMweb. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1728 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1729 * Signature of a callback function that is called by Orthanc |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1730 * whenever a DICOM tag that contains a binary value must be written |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1731 * to a JSON or XML node, while a DICOMweb document is being |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1732 * generated. The value representation (VR) of the DICOM tag can be |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1733 * OB, OD, OF, OL, OW, or UN. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1734 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1735 * @see OrthancPluginEncodeDicomWebJson() and OrthancPluginEncodeDicomWebXml() |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1736 * @param node The node being generated, as provided by Orthanc. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1737 * @param setter The setter to be used to encode the content of the node. If |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1738 * the setter is not called, the binary tag is not written to the output document. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1739 * @param levelDepth The depth of the node in the DICOM hierarchy of sequences. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1740 * This parameter gives the number of elements in the "levelTagGroup", |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1741 * "levelTagElement", and "levelIndex" arrays. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1742 * @param levelTagGroup The group of the parent DICOM tags in the hierarchy. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1743 * @param levelTagElement The element of the parent DICOM tags in the hierarchy. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1744 * @param levelIndex The index of the node in the parent sequences of the hierarchy. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1745 * @param tagGroup The group of the DICOM tag of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1746 * @param tagElement The element of the DICOM tag of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1747 * @param vr The value representation of the binary DICOM node. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1748 * @param payload The user payload. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1749 * @ingroup Callbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1750 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1751 typedef void (*OrthancPluginDicomWebBinaryCallback2) ( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1752 OrthancPluginDicomWebNode* node, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1753 OrthancPluginDicomWebSetBinaryNode setter, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1754 uint32_t levelDepth, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1755 const uint16_t* levelTagGroup, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1756 const uint16_t* levelTagElement, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1757 const uint32_t* levelIndex, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1758 uint16_t tagGroup, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1759 uint16_t tagElement, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1760 OrthancPluginValueRepresentation vr, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1761 void* payload); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1762 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1763 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1764 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1765 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1766 * @brief Data structure that contains information about the Orthanc core. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1767 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1768 typedef struct _OrthancPluginContext_t |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1769 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1770 void* pluginsManager; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1771 const char* orthancVersion; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1772 OrthancPluginFree Free; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1773 OrthancPluginErrorCode (*InvokeService) (struct _OrthancPluginContext_t* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1774 _OrthancPluginService service, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1775 const void* params); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1776 } OrthancPluginContext; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1777 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1778 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1779 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1780 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1781 * @brief An entry in the dictionary of DICOM tags. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1782 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1783 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1784 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1785 uint16_t group; /*!< The group of the tag */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1786 uint16_t element; /*!< The element of the tag */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1787 OrthancPluginValueRepresentation vr; /*!< The value representation of the tag */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1788 uint32_t minMultiplicity; /*!< The minimum multiplicity of the tag */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1789 uint32_t maxMultiplicity; /*!< The maximum multiplicity of the tag (0 means arbitrary) */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1790 } OrthancPluginDictionaryEntry; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1791 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1792 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1793 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1794 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1795 * @brief Free a string. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1796 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1797 * Free a string that was allocated by the core system of Orthanc. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1798 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1799 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1800 * @param str The string to be freed. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1801 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1802 ORTHANC_PLUGIN_INLINE void OrthancPluginFreeString( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1803 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1804 char* str) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1805 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1806 if (str != NULL) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1807 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1808 context->Free(str); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1809 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1810 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1811 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1812 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1813 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1814 * @brief Check that the version of the hosting Orthanc is above a given version. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1815 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1816 * This function checks whether the version of the Orthanc server |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1817 * running this plugin, is above the given version. Contrarily to |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1818 * OrthancPluginCheckVersion(), it is up to the developer of the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1819 * plugin to make sure that all the Orthanc SDK services called by |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1820 * the plugin are actually implemented in the given version of |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1821 * Orthanc. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1822 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1823 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1824 * @param expectedMajor Expected major version. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1825 * @param expectedMinor Expected minor version. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1826 * @param expectedRevision Expected revision. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1827 * @return 1 if and only if the versions are compatible. If the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1828 * result is 0, the initialization of the plugin should fail. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1829 * @see OrthancPluginCheckVersion |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1830 * @ingroup Callbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1831 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1832 ORTHANC_PLUGIN_INLINE int OrthancPluginCheckVersionAdvanced( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1833 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1834 int expectedMajor, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1835 int expectedMinor, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1836 int expectedRevision) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1837 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1838 int major, minor, revision; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1839 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1840 if (sizeof(int32_t) != sizeof(OrthancPluginErrorCode) || |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1841 sizeof(int32_t) != sizeof(OrthancPluginHttpMethod) || |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1842 sizeof(int32_t) != sizeof(_OrthancPluginService) || |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1843 sizeof(int32_t) != sizeof(_OrthancPluginProperty) || |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1844 sizeof(int32_t) != sizeof(OrthancPluginPixelFormat) || |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1845 sizeof(int32_t) != sizeof(OrthancPluginContentType) || |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1846 sizeof(int32_t) != sizeof(OrthancPluginResourceType) || |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1847 sizeof(int32_t) != sizeof(OrthancPluginChangeType) || |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1848 sizeof(int32_t) != sizeof(OrthancPluginCompressionType) || |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1849 sizeof(int32_t) != sizeof(OrthancPluginImageFormat) || |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1850 sizeof(int32_t) != sizeof(OrthancPluginValueRepresentation) || |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1851 sizeof(int32_t) != sizeof(OrthancPluginDicomToJsonFormat) || |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1852 sizeof(int32_t) != sizeof(OrthancPluginDicomToJsonFlags) || |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1853 sizeof(int32_t) != sizeof(OrthancPluginCreateDicomFlags) || |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1854 sizeof(int32_t) != sizeof(OrthancPluginIdentifierConstraint) || |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1855 sizeof(int32_t) != sizeof(OrthancPluginInstanceOrigin) || |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1856 sizeof(int32_t) != sizeof(OrthancPluginJobStepStatus) || |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1857 sizeof(int32_t) != sizeof(OrthancPluginConstraintType) || |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1858 sizeof(int32_t) != sizeof(OrthancPluginMetricsType) || |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1859 sizeof(int32_t) != sizeof(OrthancPluginDicomWebBinaryMode) || |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1860 sizeof(int32_t) != sizeof(OrthancPluginStorageCommitmentFailureReason) || |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1861 sizeof(int32_t) != sizeof(OrthancPluginReceivedInstanceAction)) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1862 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1863 /* Mismatch in the size of the enumerations */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1864 return 0; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1865 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1866 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1867 /* Assume compatibility with the mainline */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1868 if (!strcmp(context->orthancVersion, "mainline")) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1869 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1870 return 1; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1871 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1872 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1873 /* Parse the version of the Orthanc core */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1874 if ( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1875 #ifdef _MSC_VER |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1876 sscanf_s |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1877 #else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1878 sscanf |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1879 #endif |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1880 (context->orthancVersion, "%4d.%4d.%4d", &major, &minor, &revision) != 3) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1881 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1882 return 0; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1883 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1884 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1885 /* Check the major number of the version */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1886 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1887 if (major > expectedMajor) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1888 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1889 return 1; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1890 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1891 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1892 if (major < expectedMajor) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1893 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1894 return 0; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1895 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1896 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1897 /* Check the minor number of the version */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1898 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1899 if (minor > expectedMinor) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1900 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1901 return 1; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1902 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1903 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1904 if (minor < expectedMinor) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1905 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1906 return 0; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1907 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1908 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1909 /* Check the revision number of the version */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1910 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1911 if (revision >= expectedRevision) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1912 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1913 return 1; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1914 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1915 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1916 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1917 return 0; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1918 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1919 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1920 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1921 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1922 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1923 * @brief Check the compatibility of the plugin wrt. the version of its hosting Orthanc. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1924 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1925 * This function checks whether the version of the Orthanc server |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1926 * running this plugin, is above the version of the current Orthanc |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1927 * SDK header. This guarantees that the plugin is compatible with |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1928 * the hosting Orthanc (i.e. it will not call unavailable services). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1929 * The result of this function should always be checked in the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1930 * OrthancPluginInitialize() entry point of the plugin. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1931 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1932 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1933 * @return 1 if and only if the versions are compatible. If the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1934 * result is 0, the initialization of the plugin should fail. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1935 * @see OrthancPluginCheckVersionAdvanced |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1936 * @ingroup Callbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1937 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1938 ORTHANC_PLUGIN_INLINE int OrthancPluginCheckVersion( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1939 OrthancPluginContext* context) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1940 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1941 return OrthancPluginCheckVersionAdvanced( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1942 context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1943 ORTHANC_PLUGINS_MINIMAL_MAJOR_NUMBER, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1944 ORTHANC_PLUGINS_MINIMAL_MINOR_NUMBER, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1945 ORTHANC_PLUGINS_MINIMAL_REVISION_NUMBER); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1946 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1947 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1948 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1949 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1950 * @brief Free a memory buffer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1951 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1952 * Free a memory buffer that was allocated by the core system of Orthanc. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1953 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1954 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1955 * @param buffer The memory buffer to release. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1956 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1957 ORTHANC_PLUGIN_INLINE void OrthancPluginFreeMemoryBuffer( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1958 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1959 OrthancPluginMemoryBuffer* buffer) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1960 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1961 context->Free(buffer->data); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1962 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1963 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1964 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1965 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1966 * @brief Free a memory buffer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1967 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1968 * Free a memory buffer that was allocated by the core system of Orthanc. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1969 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1970 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1971 * @param buffer The memory buffer to release. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1972 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1973 ORTHANC_PLUGIN_INLINE void OrthancPluginFreeMemoryBuffer64( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1974 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1975 OrthancPluginMemoryBuffer64* buffer) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1976 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1977 context->Free(buffer->data); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1978 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1979 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1980 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1981 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1982 * @brief Log an error. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1983 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1984 * Log an error message using the Orthanc logging system. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1985 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1986 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1987 * @param message The message to be logged. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1988 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1989 ORTHANC_PLUGIN_INLINE void OrthancPluginLogError( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1990 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1991 const char* message) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1992 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1993 context->InvokeService(context, _OrthancPluginService_LogError, message); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1994 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1995 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1996 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1997 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1998 * @brief Log a warning. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1999 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2000 * Log a warning message using the Orthanc logging system. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2001 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2002 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2003 * @param message The message to be logged. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2004 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2005 ORTHANC_PLUGIN_INLINE void OrthancPluginLogWarning( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2006 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2007 const char* message) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2008 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2009 context->InvokeService(context, _OrthancPluginService_LogWarning, message); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2010 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2011 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2012 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2013 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2014 * @brief Log an information. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2015 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2016 * Log an information message using the Orthanc logging system. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2017 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2018 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2019 * @param message The message to be logged. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2020 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2021 ORTHANC_PLUGIN_INLINE void OrthancPluginLogInfo( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2022 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2023 const char* message) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2024 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2025 context->InvokeService(context, _OrthancPluginService_LogInfo, message); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2026 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2027 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2028 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2029 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2030 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2031 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2032 const char* pathRegularExpression; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2033 OrthancPluginRestCallback callback; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2034 } _OrthancPluginRestCallback; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2035 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2036 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2037 * @brief Register a REST callback. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2038 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2039 * This function registers a REST callback against a regular |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2040 * expression for a URI. This function must be called during the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2041 * initialization of the plugin, i.e. inside the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2042 * OrthancPluginInitialize() public function. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2043 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2044 * Each REST callback is guaranteed to run in mutual exclusion. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2045 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2046 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2047 * @param pathRegularExpression Regular expression for the URI. May contain groups. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2048 * @param callback The callback function to handle the REST call. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2049 * @see OrthancPluginRegisterRestCallbackNoLock() |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2050 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2051 * @note |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2052 * The regular expression is case sensitive and must follow the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2053 * [Perl syntax](https://www.boost.org/doc/libs/1_67_0/libs/regex/doc/html/boost_regex/syntax/perl_syntax.html). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2054 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2055 * @ingroup Callbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2056 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2057 ORTHANC_PLUGIN_INLINE void OrthancPluginRegisterRestCallback( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2058 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2059 const char* pathRegularExpression, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2060 OrthancPluginRestCallback callback) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2061 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2062 _OrthancPluginRestCallback params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2063 params.pathRegularExpression = pathRegularExpression; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2064 params.callback = callback; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2065 context->InvokeService(context, _OrthancPluginService_RegisterRestCallback, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2066 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2067 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2068 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2069 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2070 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2071 * @brief Register a REST callback, without locking. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2072 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2073 * This function registers a REST callback against a regular |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2074 * expression for a URI. This function must be called during the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2075 * initialization of the plugin, i.e. inside the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2076 * OrthancPluginInitialize() public function. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2077 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2078 * Contrarily to OrthancPluginRegisterRestCallback(), the callback |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2079 * will NOT be invoked in mutual exclusion. This can be useful for |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2080 * high-performance plugins that must handle concurrent requests |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2081 * (Orthanc uses a pool of threads, one thread being assigned to |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2082 * each incoming HTTP request). Of course, if using this function, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2083 * it is up to the plugin to implement the required locking |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2084 * mechanisms. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2085 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2086 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2087 * @param pathRegularExpression Regular expression for the URI. May contain groups. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2088 * @param callback The callback function to handle the REST call. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2089 * @see OrthancPluginRegisterRestCallback() |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2090 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2091 * @note |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2092 * The regular expression is case sensitive and must follow the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2093 * [Perl syntax](https://www.boost.org/doc/libs/1_67_0/libs/regex/doc/html/boost_regex/syntax/perl_syntax.html). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2094 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2095 * @ingroup Callbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2096 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2097 ORTHANC_PLUGIN_INLINE void OrthancPluginRegisterRestCallbackNoLock( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2098 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2099 const char* pathRegularExpression, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2100 OrthancPluginRestCallback callback) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2101 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2102 _OrthancPluginRestCallback params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2103 params.pathRegularExpression = pathRegularExpression; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2104 params.callback = callback; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2105 context->InvokeService(context, _OrthancPluginService_RegisterRestCallbackNoLock, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2106 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2107 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2108 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2109 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2110 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2111 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2112 OrthancPluginOnStoredInstanceCallback callback; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2113 } _OrthancPluginOnStoredInstanceCallback; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2114 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2115 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2116 * @brief Register a callback for received instances. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2117 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2118 * This function registers a callback function that is called |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2119 * whenever a new DICOM instance is stored into the Orthanc core. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2120 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2121 * @warning Your callback function will be called synchronously with |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2122 * the core of Orthanc. This implies that deadlocks might emerge if |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2123 * you call other core primitives of Orthanc in your callback (such |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2124 * deadlocks are particularly visible in the presence of other plugins |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2125 * or Lua scripts). It is thus strongly advised to avoid any call to |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2126 * the REST API of Orthanc in the callback. If you have to call |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2127 * other primitives of Orthanc, you should make these calls in a |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2128 * separate thread, passing the pending events to be processed |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2129 * through a message queue. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2130 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2131 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2132 * @param callback The callback function. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2133 * @ingroup Callbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2134 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2135 ORTHANC_PLUGIN_INLINE void OrthancPluginRegisterOnStoredInstanceCallback( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2136 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2137 OrthancPluginOnStoredInstanceCallback callback) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2138 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2139 _OrthancPluginOnStoredInstanceCallback params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2140 params.callback = callback; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2141 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2142 context->InvokeService(context, _OrthancPluginService_RegisterOnStoredInstanceCallback, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2143 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2144 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2145 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2146 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2147 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2148 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2149 OrthancPluginRestOutput* output; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2150 const void* answer; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2151 uint32_t answerSize; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2152 const char* mimeType; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2153 } _OrthancPluginAnswerBuffer; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2154 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2155 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2156 * @brief Answer to a REST request. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2157 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2158 * This function answers to a REST request with the content of a memory buffer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2159 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2160 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2161 * @param output The HTTP connection to the client application. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2162 * @param answer Pointer to the memory buffer containing the answer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2163 * @param answerSize Number of bytes of the answer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2164 * @param mimeType The MIME type of the answer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2165 * @ingroup REST |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2166 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2167 ORTHANC_PLUGIN_INLINE void OrthancPluginAnswerBuffer( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2168 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2169 OrthancPluginRestOutput* output, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2170 const void* answer, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2171 uint32_t answerSize, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2172 const char* mimeType) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2173 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2174 _OrthancPluginAnswerBuffer params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2175 params.output = output; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2176 params.answer = answer; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2177 params.answerSize = answerSize; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2178 params.mimeType = mimeType; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2179 context->InvokeService(context, _OrthancPluginService_AnswerBuffer, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2180 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2181 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2182 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2183 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2184 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2185 OrthancPluginRestOutput* output; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2186 OrthancPluginPixelFormat format; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2187 uint32_t width; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2188 uint32_t height; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2189 uint32_t pitch; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2190 const void* buffer; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2191 } _OrthancPluginCompressAndAnswerPngImage; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2192 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2193 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2194 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2195 OrthancPluginRestOutput* output; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2196 OrthancPluginImageFormat imageFormat; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2197 OrthancPluginPixelFormat pixelFormat; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2198 uint32_t width; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2199 uint32_t height; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2200 uint32_t pitch; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2201 const void* buffer; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2202 uint8_t quality; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2203 } _OrthancPluginCompressAndAnswerImage; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2204 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2205 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2206 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2207 * @brief Answer to a REST request with a PNG image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2208 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2209 * This function answers to a REST request with a PNG image. The |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2210 * parameters of this function describe a memory buffer that |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2211 * contains an uncompressed image. The image will be automatically compressed |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2212 * as a PNG image by the core system of Orthanc. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2213 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2214 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2215 * @param output The HTTP connection to the client application. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2216 * @param format The memory layout of the uncompressed image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2217 * @param width The width of the image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2218 * @param height The height of the image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2219 * @param pitch The pitch of the image (i.e. the number of bytes |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2220 * between 2 successive lines of the image in the memory buffer). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2221 * @param buffer The memory buffer containing the uncompressed image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2222 * @ingroup REST |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2223 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2224 ORTHANC_PLUGIN_INLINE void OrthancPluginCompressAndAnswerPngImage( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2225 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2226 OrthancPluginRestOutput* output, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2227 OrthancPluginPixelFormat format, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2228 uint32_t width, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2229 uint32_t height, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2230 uint32_t pitch, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2231 const void* buffer) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2232 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2233 _OrthancPluginCompressAndAnswerImage params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2234 params.output = output; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2235 params.imageFormat = OrthancPluginImageFormat_Png; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2236 params.pixelFormat = format; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2237 params.width = width; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2238 params.height = height; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2239 params.pitch = pitch; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2240 params.buffer = buffer; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2241 params.quality = 0; /* No quality for PNG */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2242 context->InvokeService(context, _OrthancPluginService_CompressAndAnswerImage, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2243 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2244 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2245 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2246 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2247 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2248 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2249 OrthancPluginMemoryBuffer* target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2250 const char* instanceId; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2251 } _OrthancPluginGetDicomForInstance; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2252 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2253 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2254 * @brief Retrieve a DICOM instance using its Orthanc identifier. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2255 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2256 * Retrieve a DICOM instance using its Orthanc identifier. The DICOM |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2257 * file is stored into a newly allocated memory buffer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2258 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2259 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2260 * @param target The target memory buffer. It must be freed with OrthancPluginFreeMemoryBuffer(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2261 * @param instanceId The Orthanc identifier of the DICOM instance of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2262 * @return 0 if success, or the error code if failure. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2263 * @ingroup Orthanc |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2264 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2265 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginGetDicomForInstance( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2266 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2267 OrthancPluginMemoryBuffer* target, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2268 const char* instanceId) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2269 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2270 _OrthancPluginGetDicomForInstance params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2271 params.target = target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2272 params.instanceId = instanceId; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2273 return context->InvokeService(context, _OrthancPluginService_GetDicomForInstance, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2274 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2275 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2276 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2277 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2278 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2279 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2280 OrthancPluginMemoryBuffer* target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2281 const char* uri; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2282 } _OrthancPluginRestApiGet; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2283 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2284 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2285 * @brief Make a GET call to the built-in Orthanc REST API. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2286 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2287 * Make a GET call to the built-in Orthanc REST API. The result to |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2288 * the query is stored into a newly allocated memory buffer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2289 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2290 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2291 * @param target The target memory buffer. It must be freed with OrthancPluginFreeMemoryBuffer(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2292 * @param uri The URI in the built-in Orthanc API. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2293 * @return 0 if success, or the error code if failure. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2294 * @note If the resource is not existing (error 404), the error code will be OrthancPluginErrorCode_UnknownResource. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2295 * @see OrthancPluginRestApiGetAfterPlugins |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2296 * @ingroup Orthanc |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2297 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2298 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginRestApiGet( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2299 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2300 OrthancPluginMemoryBuffer* target, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2301 const char* uri) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2302 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2303 _OrthancPluginRestApiGet params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2304 params.target = target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2305 params.uri = uri; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2306 return context->InvokeService(context, _OrthancPluginService_RestApiGet, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2307 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2308 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2309 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2310 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2311 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2312 * @brief Make a GET call to the REST API, as tainted by the plugins. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2313 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2314 * Make a GET call to the Orthanc REST API, after all the plugins |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2315 * are applied. In other words, if some plugin overrides or adds the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2316 * called URI to the built-in Orthanc REST API, this call will |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2317 * return the result provided by this plugin. The result to the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2318 * query is stored into a newly allocated memory buffer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2319 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2320 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2321 * @param target The target memory buffer. It must be freed with OrthancPluginFreeMemoryBuffer(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2322 * @param uri The URI in the built-in Orthanc API. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2323 * @return 0 if success, or the error code if failure. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2324 * @note If the resource is not existing (error 404), the error code will be OrthancPluginErrorCode_UnknownResource. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2325 * @see OrthancPluginRestApiGet |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2326 * @ingroup Orthanc |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2327 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2328 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginRestApiGetAfterPlugins( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2329 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2330 OrthancPluginMemoryBuffer* target, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2331 const char* uri) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2332 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2333 _OrthancPluginRestApiGet params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2334 params.target = target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2335 params.uri = uri; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2336 return context->InvokeService(context, _OrthancPluginService_RestApiGetAfterPlugins, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2337 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2338 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2339 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2340 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2341 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2342 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2343 OrthancPluginMemoryBuffer* target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2344 const char* uri; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2345 const void* body; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2346 uint32_t bodySize; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2347 } _OrthancPluginRestApiPostPut; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2348 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2349 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2350 * @brief Make a POST call to the built-in Orthanc REST API. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2351 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2352 * Make a POST call to the built-in Orthanc REST API. The result to |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2353 * the query is stored into a newly allocated memory buffer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2354 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2355 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2356 * @param target The target memory buffer. It must be freed with OrthancPluginFreeMemoryBuffer(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2357 * @param uri The URI in the built-in Orthanc API. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2358 * @param body The body of the POST request. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2359 * @param bodySize The size of the body. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2360 * @return 0 if success, or the error code if failure. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2361 * @note If the resource is not existing (error 404), the error code will be OrthancPluginErrorCode_UnknownResource. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2362 * @see OrthancPluginRestApiPostAfterPlugins |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2363 * @ingroup Orthanc |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2364 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2365 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginRestApiPost( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2366 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2367 OrthancPluginMemoryBuffer* target, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2368 const char* uri, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2369 const void* body, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2370 uint32_t bodySize) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2371 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2372 _OrthancPluginRestApiPostPut params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2373 params.target = target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2374 params.uri = uri; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2375 params.body = body; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2376 params.bodySize = bodySize; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2377 return context->InvokeService(context, _OrthancPluginService_RestApiPost, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2378 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2379 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2380 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2381 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2382 * @brief Make a POST call to the REST API, as tainted by the plugins. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2383 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2384 * Make a POST call to the Orthanc REST API, after all the plugins |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2385 * are applied. In other words, if some plugin overrides or adds the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2386 * called URI to the built-in Orthanc REST API, this call will |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2387 * return the result provided by this plugin. The result to the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2388 * query is stored into a newly allocated memory buffer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2389 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2390 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2391 * @param target The target memory buffer. It must be freed with OrthancPluginFreeMemoryBuffer(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2392 * @param uri The URI in the built-in Orthanc API. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2393 * @param body The body of the POST request. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2394 * @param bodySize The size of the body. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2395 * @return 0 if success, or the error code if failure. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2396 * @note If the resource is not existing (error 404), the error code will be OrthancPluginErrorCode_UnknownResource. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2397 * @see OrthancPluginRestApiPost |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2398 * @ingroup Orthanc |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2399 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2400 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginRestApiPostAfterPlugins( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2401 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2402 OrthancPluginMemoryBuffer* target, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2403 const char* uri, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2404 const void* body, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2405 uint32_t bodySize) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2406 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2407 _OrthancPluginRestApiPostPut params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2408 params.target = target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2409 params.uri = uri; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2410 params.body = body; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2411 params.bodySize = bodySize; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2412 return context->InvokeService(context, _OrthancPluginService_RestApiPostAfterPlugins, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2413 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2414 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2415 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2416 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2417 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2418 * @brief Make a DELETE call to the built-in Orthanc REST API. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2419 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2420 * Make a DELETE call to the built-in Orthanc REST API. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2421 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2422 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2423 * @param uri The URI to delete in the built-in Orthanc API. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2424 * @return 0 if success, or the error code if failure. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2425 * @note If the resource is not existing (error 404), the error code will be OrthancPluginErrorCode_UnknownResource. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2426 * @see OrthancPluginRestApiDeleteAfterPlugins |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2427 * @ingroup Orthanc |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2428 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2429 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginRestApiDelete( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2430 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2431 const char* uri) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2432 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2433 return context->InvokeService(context, _OrthancPluginService_RestApiDelete, uri); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2434 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2435 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2436 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2437 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2438 * @brief Make a DELETE call to the REST API, as tainted by the plugins. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2439 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2440 * Make a DELETE call to the Orthanc REST API, after all the plugins |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2441 * are applied. In other words, if some plugin overrides or adds the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2442 * called URI to the built-in Orthanc REST API, this call will |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2443 * return the result provided by this plugin. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2444 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2445 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2446 * @param uri The URI to delete in the built-in Orthanc API. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2447 * @return 0 if success, or the error code if failure. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2448 * @note If the resource is not existing (error 404), the error code will be OrthancPluginErrorCode_UnknownResource. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2449 * @see OrthancPluginRestApiDelete |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2450 * @ingroup Orthanc |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2451 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2452 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginRestApiDeleteAfterPlugins( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2453 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2454 const char* uri) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2455 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2456 return context->InvokeService(context, _OrthancPluginService_RestApiDeleteAfterPlugins, uri); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2457 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2458 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2459 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2460 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2461 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2462 * @brief Make a PUT call to the built-in Orthanc REST API. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2463 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2464 * Make a PUT call to the built-in Orthanc REST API. The result to |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2465 * the query is stored into a newly allocated memory buffer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2466 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2467 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2468 * @param target The target memory buffer. It must be freed with OrthancPluginFreeMemoryBuffer(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2469 * @param uri The URI in the built-in Orthanc API. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2470 * @param body The body of the PUT request. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2471 * @param bodySize The size of the body. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2472 * @return 0 if success, or the error code if failure. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2473 * @note If the resource is not existing (error 404), the error code will be OrthancPluginErrorCode_UnknownResource. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2474 * @see OrthancPluginRestApiPutAfterPlugins |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2475 * @ingroup Orthanc |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2476 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2477 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginRestApiPut( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2478 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2479 OrthancPluginMemoryBuffer* target, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2480 const char* uri, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2481 const void* body, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2482 uint32_t bodySize) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2483 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2484 _OrthancPluginRestApiPostPut params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2485 params.target = target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2486 params.uri = uri; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2487 params.body = body; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2488 params.bodySize = bodySize; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2489 return context->InvokeService(context, _OrthancPluginService_RestApiPut, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2490 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2491 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2492 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2493 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2494 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2495 * @brief Make a PUT call to the REST API, as tainted by the plugins. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2496 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2497 * Make a PUT call to the Orthanc REST API, after all the plugins |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2498 * are applied. In other words, if some plugin overrides or adds the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2499 * called URI to the built-in Orthanc REST API, this call will |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2500 * return the result provided by this plugin. The result to the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2501 * query is stored into a newly allocated memory buffer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2502 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2503 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2504 * @param target The target memory buffer. It must be freed with OrthancPluginFreeMemoryBuffer(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2505 * @param uri The URI in the built-in Orthanc API. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2506 * @param body The body of the PUT request. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2507 * @param bodySize The size of the body. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2508 * @return 0 if success, or the error code if failure. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2509 * @note If the resource is not existing (error 404), the error code will be OrthancPluginErrorCode_UnknownResource. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2510 * @see OrthancPluginRestApiPut |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2511 * @ingroup Orthanc |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2512 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2513 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginRestApiPutAfterPlugins( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2514 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2515 OrthancPluginMemoryBuffer* target, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2516 const char* uri, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2517 const void* body, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2518 uint32_t bodySize) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2519 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2520 _OrthancPluginRestApiPostPut params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2521 params.target = target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2522 params.uri = uri; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2523 params.body = body; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2524 params.bodySize = bodySize; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2525 return context->InvokeService(context, _OrthancPluginService_RestApiPutAfterPlugins, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2526 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2527 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2528 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2529 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2530 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2531 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2532 OrthancPluginRestOutput* output; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2533 const char* argument; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2534 } _OrthancPluginOutputPlusArgument; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2535 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2536 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2537 * @brief Redirect a REST request. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2538 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2539 * This function answers to a REST request by redirecting the user |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2540 * to another URI using HTTP status 301. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2541 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2542 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2543 * @param output The HTTP connection to the client application. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2544 * @param redirection Where to redirect. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2545 * @ingroup REST |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2546 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2547 ORTHANC_PLUGIN_INLINE void OrthancPluginRedirect( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2548 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2549 OrthancPluginRestOutput* output, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2550 const char* redirection) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2551 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2552 _OrthancPluginOutputPlusArgument params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2553 params.output = output; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2554 params.argument = redirection; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2555 context->InvokeService(context, _OrthancPluginService_Redirect, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2556 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2557 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2558 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2559 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2560 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2561 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2562 char** result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2563 const char* argument; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2564 } _OrthancPluginRetrieveDynamicString; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2565 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2566 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2567 * @brief Look for a patient. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2568 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2569 * Look for a patient stored in Orthanc, using its Patient ID tag (0x0010, 0x0020). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2570 * This function uses the database index to run as fast as possible (it does not loop |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2571 * over all the stored patients). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2572 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2573 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2574 * @param patientID The Patient ID of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2575 * @return The NULL value if the patient is non-existent, or a string containing the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2576 * Orthanc ID of the patient. This string must be freed by OrthancPluginFreeString(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2577 * @ingroup Orthanc |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2578 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2579 ORTHANC_PLUGIN_INLINE char* OrthancPluginLookupPatient( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2580 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2581 const char* patientID) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2582 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2583 char* result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2584 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2585 _OrthancPluginRetrieveDynamicString params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2586 params.result = &result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2587 params.argument = patientID; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2588 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2589 if (context->InvokeService(context, _OrthancPluginService_LookupPatient, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2590 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2591 /* Error */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2592 return NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2593 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2594 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2595 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2596 return result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2597 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2598 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2599 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2600 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2601 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2602 * @brief Look for a study. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2603 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2604 * Look for a study stored in Orthanc, using its Study Instance UID tag (0x0020, 0x000d). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2605 * This function uses the database index to run as fast as possible (it does not loop |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2606 * over all the stored studies). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2607 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2608 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2609 * @param studyUID The Study Instance UID of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2610 * @return The NULL value if the study is non-existent, or a string containing the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2611 * Orthanc ID of the study. This string must be freed by OrthancPluginFreeString(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2612 * @ingroup Orthanc |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2613 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2614 ORTHANC_PLUGIN_INLINE char* OrthancPluginLookupStudy( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2615 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2616 const char* studyUID) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2617 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2618 char* result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2619 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2620 _OrthancPluginRetrieveDynamicString params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2621 params.result = &result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2622 params.argument = studyUID; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2623 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2624 if (context->InvokeService(context, _OrthancPluginService_LookupStudy, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2625 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2626 /* Error */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2627 return NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2628 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2629 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2630 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2631 return result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2632 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2633 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2634 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2635 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2636 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2637 * @brief Look for a study, using the accession number. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2638 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2639 * Look for a study stored in Orthanc, using its Accession Number tag (0x0008, 0x0050). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2640 * This function uses the database index to run as fast as possible (it does not loop |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2641 * over all the stored studies). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2642 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2643 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2644 * @param accessionNumber The Accession Number of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2645 * @return The NULL value if the study is non-existent, or a string containing the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2646 * Orthanc ID of the study. This string must be freed by OrthancPluginFreeString(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2647 * @ingroup Orthanc |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2648 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2649 ORTHANC_PLUGIN_INLINE char* OrthancPluginLookupStudyWithAccessionNumber( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2650 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2651 const char* accessionNumber) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2652 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2653 char* result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2654 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2655 _OrthancPluginRetrieveDynamicString params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2656 params.result = &result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2657 params.argument = accessionNumber; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2658 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2659 if (context->InvokeService(context, _OrthancPluginService_LookupStudyWithAccessionNumber, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2660 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2661 /* Error */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2662 return NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2663 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2664 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2665 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2666 return result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2667 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2668 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2669 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2670 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2671 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2672 * @brief Look for a series. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2673 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2674 * Look for a series stored in Orthanc, using its Series Instance UID tag (0x0020, 0x000e). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2675 * This function uses the database index to run as fast as possible (it does not loop |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2676 * over all the stored series). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2677 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2678 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2679 * @param seriesUID The Series Instance UID of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2680 * @return The NULL value if the series is non-existent, or a string containing the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2681 * Orthanc ID of the series. This string must be freed by OrthancPluginFreeString(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2682 * @ingroup Orthanc |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2683 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2684 ORTHANC_PLUGIN_INLINE char* OrthancPluginLookupSeries( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2685 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2686 const char* seriesUID) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2687 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2688 char* result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2689 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2690 _OrthancPluginRetrieveDynamicString params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2691 params.result = &result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2692 params.argument = seriesUID; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2693 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2694 if (context->InvokeService(context, _OrthancPluginService_LookupSeries, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2695 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2696 /* Error */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2697 return NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2698 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2699 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2700 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2701 return result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2702 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2703 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2704 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2705 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2706 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2707 * @brief Look for an instance. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2708 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2709 * Look for an instance stored in Orthanc, using its SOP Instance UID tag (0x0008, 0x0018). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2710 * This function uses the database index to run as fast as possible (it does not loop |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2711 * over all the stored instances). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2712 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2713 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2714 * @param sopInstanceUID The SOP Instance UID of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2715 * @return The NULL value if the instance is non-existent, or a string containing the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2716 * Orthanc ID of the instance. This string must be freed by OrthancPluginFreeString(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2717 * @ingroup Orthanc |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2718 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2719 ORTHANC_PLUGIN_INLINE char* OrthancPluginLookupInstance( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2720 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2721 const char* sopInstanceUID) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2722 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2723 char* result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2724 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2725 _OrthancPluginRetrieveDynamicString params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2726 params.result = &result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2727 params.argument = sopInstanceUID; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2728 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2729 if (context->InvokeService(context, _OrthancPluginService_LookupInstance, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2730 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2731 /* Error */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2732 return NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2733 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2734 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2735 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2736 return result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2737 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2738 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2739 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2740 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2741 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2742 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2743 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2744 OrthancPluginRestOutput* output; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2745 uint16_t status; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2746 } _OrthancPluginSendHttpStatusCode; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2747 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2748 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2749 * @brief Send a HTTP status code. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2750 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2751 * This function answers to a REST request by sending a HTTP status |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2752 * code (such as "400 - Bad Request"). Note that: |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2753 * - Successful requests (status 200) must use ::OrthancPluginAnswerBuffer(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2754 * - Redirections (status 301) must use ::OrthancPluginRedirect(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2755 * - Unauthorized access (status 401) must use ::OrthancPluginSendUnauthorized(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2756 * - Methods not allowed (status 405) must use ::OrthancPluginSendMethodNotAllowed(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2757 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2758 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2759 * @param output The HTTP connection to the client application. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2760 * @param status The HTTP status code to be sent. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2761 * @ingroup REST |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2762 * @see OrthancPluginSendHttpStatus() |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2763 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2764 ORTHANC_PLUGIN_INLINE void OrthancPluginSendHttpStatusCode( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2765 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2766 OrthancPluginRestOutput* output, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2767 uint16_t status) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2768 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2769 _OrthancPluginSendHttpStatusCode params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2770 params.output = output; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2771 params.status = status; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2772 context->InvokeService(context, _OrthancPluginService_SendHttpStatusCode, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2773 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2774 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2775 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2776 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2777 * @brief Signal that a REST request is not authorized. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2778 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2779 * This function answers to a REST request by signaling that it is |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2780 * not authorized. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2781 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2782 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2783 * @param output The HTTP connection to the client application. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2784 * @param realm The realm for the authorization process. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2785 * @ingroup REST |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2786 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2787 ORTHANC_PLUGIN_INLINE void OrthancPluginSendUnauthorized( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2788 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2789 OrthancPluginRestOutput* output, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2790 const char* realm) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2791 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2792 _OrthancPluginOutputPlusArgument params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2793 params.output = output; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2794 params.argument = realm; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2795 context->InvokeService(context, _OrthancPluginService_SendUnauthorized, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2796 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2797 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2798 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2799 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2800 * @brief Signal that this URI does not support this HTTP method. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2801 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2802 * This function answers to a REST request by signaling that the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2803 * queried URI does not support this method. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2804 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2805 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2806 * @param output The HTTP connection to the client application. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2807 * @param allowedMethods The allowed methods for this URI (e.g. "GET,POST" after a PUT or a POST request). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2808 * @ingroup REST |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2809 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2810 ORTHANC_PLUGIN_INLINE void OrthancPluginSendMethodNotAllowed( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2811 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2812 OrthancPluginRestOutput* output, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2813 const char* allowedMethods) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2814 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2815 _OrthancPluginOutputPlusArgument params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2816 params.output = output; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2817 params.argument = allowedMethods; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2818 context->InvokeService(context, _OrthancPluginService_SendMethodNotAllowed, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2819 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2820 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2821 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2822 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2823 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2824 OrthancPluginRestOutput* output; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2825 const char* key; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2826 const char* value; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2827 } _OrthancPluginSetHttpHeader; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2828 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2829 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2830 * @brief Set a cookie. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2831 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2832 * This function sets a cookie in the HTTP client. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2833 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2834 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2835 * @param output The HTTP connection to the client application. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2836 * @param cookie The cookie to be set. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2837 * @param value The value of the cookie. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2838 * @ingroup REST |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2839 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2840 ORTHANC_PLUGIN_INLINE void OrthancPluginSetCookie( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2841 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2842 OrthancPluginRestOutput* output, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2843 const char* cookie, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2844 const char* value) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2845 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2846 _OrthancPluginSetHttpHeader params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2847 params.output = output; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2848 params.key = cookie; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2849 params.value = value; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2850 context->InvokeService(context, _OrthancPluginService_SetCookie, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2851 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2852 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2853 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2854 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2855 * @brief Set some HTTP header. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2856 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2857 * This function sets a HTTP header in the HTTP answer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2858 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2859 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2860 * @param output The HTTP connection to the client application. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2861 * @param key The HTTP header to be set. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2862 * @param value The value of the HTTP header. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2863 * @ingroup REST |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2864 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2865 ORTHANC_PLUGIN_INLINE void OrthancPluginSetHttpHeader( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2866 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2867 OrthancPluginRestOutput* output, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2868 const char* key, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2869 const char* value) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2870 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2871 _OrthancPluginSetHttpHeader params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2872 params.output = output; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2873 params.key = key; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2874 params.value = value; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2875 context->InvokeService(context, _OrthancPluginService_SetHttpHeader, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2876 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2877 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2878 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2879 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2880 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2881 char** resultStringToFree; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2882 const char** resultString; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2883 int64_t* resultInt64; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2884 const char* key; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2885 const OrthancPluginDicomInstance* instance; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2886 OrthancPluginInstanceOrigin* resultOrigin; /* New in Orthanc 0.9.5 SDK */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2887 } _OrthancPluginAccessDicomInstance; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2888 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2889 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2890 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2891 * @brief Get the AET of a DICOM instance. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2892 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2893 * This function returns the Application Entity Title (AET) of the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2894 * DICOM modality from which a DICOM instance originates. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2895 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2896 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2897 * @param instance The instance of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2898 * @return The AET if success, NULL if error. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2899 * @ingroup DicomInstance |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2900 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2901 ORTHANC_PLUGIN_INLINE const char* OrthancPluginGetInstanceRemoteAet( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2902 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2903 const OrthancPluginDicomInstance* instance) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2904 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2905 const char* result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2906 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2907 _OrthancPluginAccessDicomInstance params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2908 memset(¶ms, 0, sizeof(params)); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2909 params.resultString = &result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2910 params.instance = instance; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2911 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2912 if (context->InvokeService(context, _OrthancPluginService_GetInstanceRemoteAet, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2913 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2914 /* Error */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2915 return NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2916 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2917 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2918 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2919 return result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2920 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2921 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2922 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2923 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2924 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2925 * @brief Get the size of a DICOM file. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2926 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2927 * This function returns the number of bytes of the given DICOM instance. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2928 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2929 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2930 * @param instance The instance of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2931 * @return The size of the file, -1 in case of error. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2932 * @ingroup DicomInstance |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2933 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2934 ORTHANC_PLUGIN_INLINE int64_t OrthancPluginGetInstanceSize( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2935 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2936 const OrthancPluginDicomInstance* instance) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2937 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2938 int64_t size; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2939 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2940 _OrthancPluginAccessDicomInstance params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2941 memset(¶ms, 0, sizeof(params)); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2942 params.resultInt64 = &size; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2943 params.instance = instance; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2944 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2945 if (context->InvokeService(context, _OrthancPluginService_GetInstanceSize, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2946 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2947 /* Error */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2948 return -1; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2949 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2950 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2951 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2952 return size; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2953 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2954 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2955 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2956 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2957 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2958 * @brief Get the data of a DICOM file. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2959 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2960 * This function returns a pointer to the content of the given DICOM instance. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2961 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2962 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2963 * @param instance The instance of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2964 * @return The pointer to the DICOM data, NULL in case of error. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2965 * @ingroup DicomInstance |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2966 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2967 ORTHANC_PLUGIN_INLINE const void* OrthancPluginGetInstanceData( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2968 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2969 const OrthancPluginDicomInstance* instance) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2970 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2971 const char* result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2972 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2973 _OrthancPluginAccessDicomInstance params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2974 memset(¶ms, 0, sizeof(params)); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2975 params.resultString = &result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2976 params.instance = instance; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2977 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2978 if (context->InvokeService(context, _OrthancPluginService_GetInstanceData, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2979 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2980 /* Error */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2981 return NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2982 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2983 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2984 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2985 return result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2986 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2987 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2988 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2989 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2990 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2991 * @brief Get the DICOM tag hierarchy as a JSON file. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2992 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2993 * This function returns a pointer to a newly created string |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2994 * containing a JSON file. This JSON file encodes the tag hierarchy |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2995 * of the given DICOM instance. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2996 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2997 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2998 * @param instance The instance of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2999 * @return The NULL value in case of error, or a string containing the JSON file. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3000 * This string must be freed by OrthancPluginFreeString(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3001 * @ingroup DicomInstance |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3002 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3003 ORTHANC_PLUGIN_INLINE char* OrthancPluginGetInstanceJson( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3004 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3005 const OrthancPluginDicomInstance* instance) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3006 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3007 char* result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3008 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3009 _OrthancPluginAccessDicomInstance params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3010 memset(¶ms, 0, sizeof(params)); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3011 params.resultStringToFree = &result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3012 params.instance = instance; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3013 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3014 if (context->InvokeService(context, _OrthancPluginService_GetInstanceJson, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3015 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3016 /* Error */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3017 return NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3018 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3019 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3020 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3021 return result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3022 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3023 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3024 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3025 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3026 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3027 * @brief Get the DICOM tag hierarchy as a JSON file (with simplification). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3028 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3029 * This function returns a pointer to a newly created string |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3030 * containing a JSON file. This JSON file encodes the tag hierarchy |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3031 * of the given DICOM instance. In contrast with |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3032 * ::OrthancPluginGetInstanceJson(), the returned JSON file is in |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3033 * its simplified version. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3034 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3035 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3036 * @param instance The instance of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3037 * @return The NULL value in case of error, or a string containing the JSON file. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3038 * This string must be freed by OrthancPluginFreeString(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3039 * @ingroup DicomInstance |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3040 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3041 ORTHANC_PLUGIN_INLINE char* OrthancPluginGetInstanceSimplifiedJson( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3042 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3043 const OrthancPluginDicomInstance* instance) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3044 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3045 char* result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3046 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3047 _OrthancPluginAccessDicomInstance params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3048 memset(¶ms, 0, sizeof(params)); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3049 params.resultStringToFree = &result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3050 params.instance = instance; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3051 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3052 if (context->InvokeService(context, _OrthancPluginService_GetInstanceSimplifiedJson, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3053 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3054 /* Error */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3055 return NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3056 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3057 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3058 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3059 return result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3060 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3061 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3062 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3063 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3064 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3065 * @brief Check whether a DICOM instance is associated with some metadata. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3066 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3067 * This function checks whether the DICOM instance of interest is |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3068 * associated with some metadata. As of Orthanc 0.8.1, in the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3069 * callbacks registered by |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3070 * ::OrthancPluginRegisterOnStoredInstanceCallback(), the only |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3071 * possibly available metadata are "ReceptionDate", "RemoteAET" and |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3072 * "IndexInSeries". |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3073 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3074 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3075 * @param instance The instance of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3076 * @param metadata The metadata of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3077 * @return 1 if the metadata is present, 0 if it is absent, -1 in case of error. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3078 * @ingroup DicomInstance |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3079 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3080 ORTHANC_PLUGIN_INLINE int OrthancPluginHasInstanceMetadata( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3081 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3082 const OrthancPluginDicomInstance* instance, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3083 const char* metadata) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3084 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3085 int64_t result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3086 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3087 _OrthancPluginAccessDicomInstance params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3088 memset(¶ms, 0, sizeof(params)); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3089 params.resultInt64 = &result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3090 params.instance = instance; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3091 params.key = metadata; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3092 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3093 if (context->InvokeService(context, _OrthancPluginService_HasInstanceMetadata, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3094 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3095 /* Error */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3096 return -1; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3097 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3098 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3099 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3100 return (result != 0); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3101 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3102 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3103 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3104 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3105 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3106 * @brief Get the value of some metadata associated with a given DICOM instance. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3107 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3108 * This functions returns the value of some metadata that is associated with the DICOM instance of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3109 * Before calling this function, the existence of the metadata must have been checked with |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3110 * ::OrthancPluginHasInstanceMetadata(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3111 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3112 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3113 * @param instance The instance of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3114 * @param metadata The metadata of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3115 * @return The metadata value if success, NULL if error. Please note that the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3116 * returned string belongs to the instance object and must NOT be |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3117 * deallocated. Please make a copy of the string if you wish to access |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3118 * it later. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3119 * @ingroup DicomInstance |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3120 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3121 ORTHANC_PLUGIN_INLINE const char* OrthancPluginGetInstanceMetadata( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3122 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3123 const OrthancPluginDicomInstance* instance, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3124 const char* metadata) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3125 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3126 const char* result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3127 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3128 _OrthancPluginAccessDicomInstance params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3129 memset(¶ms, 0, sizeof(params)); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3130 params.resultString = &result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3131 params.instance = instance; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3132 params.key = metadata; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3133 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3134 if (context->InvokeService(context, _OrthancPluginService_GetInstanceMetadata, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3135 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3136 /* Error */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3137 return NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3138 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3139 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3140 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3141 return result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3142 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3143 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3144 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3145 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3146 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3147 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3148 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3149 OrthancPluginStorageCreate create; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3150 OrthancPluginStorageRead read; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3151 OrthancPluginStorageRemove remove; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3152 OrthancPluginFree free; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3153 } _OrthancPluginRegisterStorageArea; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3154 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3155 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3156 * @brief Register a custom storage area. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3157 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3158 * This function registers a custom storage area, to replace the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3159 * built-in way Orthanc stores its files on the filesystem. This |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3160 * function must be called during the initialization of the plugin, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3161 * i.e. inside the OrthancPluginInitialize() public function. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3162 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3163 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3164 * @param create The callback function to store a file on the custom storage area. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3165 * @param read The callback function to read a file from the custom storage area. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3166 * @param remove The callback function to remove a file from the custom storage area. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3167 * @ingroup Callbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3168 * @deprecated Please use OrthancPluginRegisterStorageArea2() |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3169 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3170 ORTHANC_PLUGIN_INLINE void OrthancPluginRegisterStorageArea( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3171 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3172 OrthancPluginStorageCreate create, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3173 OrthancPluginStorageRead read, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3174 OrthancPluginStorageRemove remove) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3175 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3176 _OrthancPluginRegisterStorageArea params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3177 params.create = create; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3178 params.read = read; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3179 params.remove = remove; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3180 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3181 #ifdef __cplusplus |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3182 params.free = ::free; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3183 #else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3184 params.free = free; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3185 #endif |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3186 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3187 context->InvokeService(context, _OrthancPluginService_RegisterStorageArea, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3188 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3189 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3190 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3191 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3192 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3193 * @brief Return the path to the Orthanc executable. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3194 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3195 * This function returns the path to the Orthanc executable. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3196 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3197 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3198 * @return NULL in the case of an error, or a newly allocated string |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3199 * containing the path. This string must be freed by |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3200 * OrthancPluginFreeString(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3201 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3202 ORTHANC_PLUGIN_INLINE char *OrthancPluginGetOrthancPath(OrthancPluginContext* context) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3203 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3204 char* result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3205 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3206 _OrthancPluginRetrieveDynamicString params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3207 params.result = &result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3208 params.argument = NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3209 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3210 if (context->InvokeService(context, _OrthancPluginService_GetOrthancPath, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3211 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3212 /* Error */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3213 return NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3214 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3215 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3216 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3217 return result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3218 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3219 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3220 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3221 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3222 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3223 * @brief Return the directory containing the Orthanc. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3224 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3225 * This function returns the path to the directory containing the Orthanc executable. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3226 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3227 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3228 * @return NULL in the case of an error, or a newly allocated string |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3229 * containing the path. This string must be freed by |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3230 * OrthancPluginFreeString(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3231 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3232 ORTHANC_PLUGIN_INLINE char *OrthancPluginGetOrthancDirectory(OrthancPluginContext* context) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3233 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3234 char* result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3235 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3236 _OrthancPluginRetrieveDynamicString params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3237 params.result = &result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3238 params.argument = NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3239 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3240 if (context->InvokeService(context, _OrthancPluginService_GetOrthancDirectory, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3241 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3242 /* Error */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3243 return NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3244 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3245 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3246 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3247 return result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3248 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3249 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3250 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3251 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3252 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3253 * @brief Return the path to the configuration file(s). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3254 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3255 * This function returns the path to the configuration file(s) that |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3256 * was specified when starting Orthanc. Since version 0.9.1, this |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3257 * path can refer to a folder that stores a set of configuration |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3258 * files. This function is deprecated in favor of |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3259 * OrthancPluginGetConfiguration(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3260 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3261 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3262 * @return NULL in the case of an error, or a newly allocated string |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3263 * containing the path. This string must be freed by |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3264 * OrthancPluginFreeString(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3265 * @see OrthancPluginGetConfiguration() |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3266 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3267 ORTHANC_PLUGIN_INLINE char *OrthancPluginGetConfigurationPath(OrthancPluginContext* context) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3268 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3269 char* result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3270 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3271 _OrthancPluginRetrieveDynamicString params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3272 params.result = &result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3273 params.argument = NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3274 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3275 if (context->InvokeService(context, _OrthancPluginService_GetConfigurationPath, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3276 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3277 /* Error */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3278 return NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3279 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3280 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3281 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3282 return result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3283 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3284 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3285 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3286 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3287 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3288 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3289 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3290 OrthancPluginOnChangeCallback callback; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3291 } _OrthancPluginOnChangeCallback; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3292 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3293 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3294 * @brief Register a callback to monitor changes. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3295 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3296 * This function registers a callback function that is called |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3297 * whenever a change happens to some DICOM resource. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3298 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3299 * @warning Your callback function will be called synchronously with |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3300 * the core of Orthanc. This implies that deadlocks might emerge if |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3301 * you call other core primitives of Orthanc in your callback (such |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3302 * deadlocks are particularly visible in the presence of other plugins |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3303 * or Lua scripts). It is thus strongly advised to avoid any call to |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3304 * the REST API of Orthanc in the callback. If you have to call |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3305 * other primitives of Orthanc, you should make these calls in a |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3306 * separate thread, passing the pending events to be processed |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3307 * through a message queue. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3308 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3309 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3310 * @param callback The callback function. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3311 * @ingroup Callbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3312 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3313 ORTHANC_PLUGIN_INLINE void OrthancPluginRegisterOnChangeCallback( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3314 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3315 OrthancPluginOnChangeCallback callback) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3316 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3317 _OrthancPluginOnChangeCallback params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3318 params.callback = callback; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3319 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3320 context->InvokeService(context, _OrthancPluginService_RegisterOnChangeCallback, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3321 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3322 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3323 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3324 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3325 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3326 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3327 const char* plugin; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3328 _OrthancPluginProperty property; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3329 const char* value; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3330 } _OrthancPluginSetPluginProperty; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3331 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3332 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3333 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3334 * @brief Set the URI where the plugin provides its Web interface. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3335 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3336 * For plugins that come with a Web interface, this function |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3337 * declares the entry path where to find this interface. This |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3338 * information is notably used in the "Plugins" page of Orthanc |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3339 * Explorer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3340 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3341 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3342 * @param uri The root URI for this plugin. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3343 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3344 ORTHANC_PLUGIN_INLINE void OrthancPluginSetRootUri( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3345 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3346 const char* uri) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3347 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3348 _OrthancPluginSetPluginProperty params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3349 params.plugin = OrthancPluginGetName(); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3350 params.property = _OrthancPluginProperty_RootUri; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3351 params.value = uri; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3352 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3353 context->InvokeService(context, _OrthancPluginService_SetPluginProperty, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3354 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3355 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3356 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3357 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3358 * @brief Set a description for this plugin. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3359 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3360 * Set a description for this plugin. It is displayed in the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3361 * "Plugins" page of Orthanc Explorer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3362 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3363 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3364 * @param description The description. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3365 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3366 ORTHANC_PLUGIN_INLINE void OrthancPluginSetDescription( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3367 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3368 const char* description) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3369 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3370 _OrthancPluginSetPluginProperty params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3371 params.plugin = OrthancPluginGetName(); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3372 params.property = _OrthancPluginProperty_Description; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3373 params.value = description; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3374 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3375 context->InvokeService(context, _OrthancPluginService_SetPluginProperty, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3376 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3377 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3378 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3379 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3380 * @brief Extend the JavaScript code of Orthanc Explorer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3381 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3382 * Add JavaScript code to customize the default behavior of Orthanc |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3383 * Explorer. This can for instance be used to add new buttons. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3384 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3385 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3386 * @param javascript The custom JavaScript code. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3387 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3388 ORTHANC_PLUGIN_INLINE void OrthancPluginExtendOrthancExplorer( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3389 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3390 const char* javascript) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3391 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3392 _OrthancPluginSetPluginProperty params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3393 params.plugin = OrthancPluginGetName(); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3394 params.property = _OrthancPluginProperty_OrthancExplorer; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3395 params.value = javascript; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3396 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3397 context->InvokeService(context, _OrthancPluginService_SetPluginProperty, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3398 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3399 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3400 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3401 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3402 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3403 char** result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3404 int32_t property; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3405 const char* value; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3406 } _OrthancPluginGlobalProperty; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3407 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3408 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3409 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3410 * @brief Get the value of a global property. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3411 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3412 * Get the value of a global property that is stored in the Orthanc database. Global |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3413 * properties whose index is below 1024 are reserved by Orthanc. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3414 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3415 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3416 * @param property The global property of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3417 * @param defaultValue The value to return, if the global property is unset. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3418 * @return The value of the global property, or NULL in the case of an error. This |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3419 * string must be freed by OrthancPluginFreeString(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3420 * @ingroup Orthanc |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3421 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3422 ORTHANC_PLUGIN_INLINE char* OrthancPluginGetGlobalProperty( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3423 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3424 int32_t property, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3425 const char* defaultValue) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3426 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3427 char* result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3428 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3429 _OrthancPluginGlobalProperty params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3430 params.result = &result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3431 params.property = property; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3432 params.value = defaultValue; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3433 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3434 if (context->InvokeService(context, _OrthancPluginService_GetGlobalProperty, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3435 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3436 /* Error */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3437 return NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3438 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3439 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3440 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3441 return result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3442 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3443 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3444 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3445 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3446 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3447 * @brief Set the value of a global property. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3448 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3449 * Set the value of a global property into the Orthanc |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3450 * database. Setting a global property can be used by plugins to |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3451 * save their internal parameters. Plugins are only allowed to set |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3452 * properties whose index are above or equal to 1024 (properties |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3453 * below 1024 are read-only and reserved by Orthanc). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3454 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3455 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3456 * @param property The global property of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3457 * @param value The value to be set in the global property. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3458 * @return 0 if success, or the error code if failure. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3459 * @ingroup Orthanc |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3460 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3461 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginSetGlobalProperty( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3462 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3463 int32_t property, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3464 const char* value) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3465 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3466 _OrthancPluginGlobalProperty params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3467 params.result = NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3468 params.property = property; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3469 params.value = value; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3470 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3471 return context->InvokeService(context, _OrthancPluginService_SetGlobalProperty, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3472 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3473 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3474 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3475 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3476 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3477 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3478 int32_t *resultInt32; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3479 uint32_t *resultUint32; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3480 int64_t *resultInt64; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3481 uint64_t *resultUint64; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3482 } _OrthancPluginReturnSingleValue; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3483 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3484 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3485 * @brief Get the number of command-line arguments. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3486 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3487 * Retrieve the number of command-line arguments that were used to launch Orthanc. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3488 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3489 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3490 * @return The number of arguments. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3491 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3492 ORTHANC_PLUGIN_INLINE uint32_t OrthancPluginGetCommandLineArgumentsCount( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3493 OrthancPluginContext* context) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3494 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3495 uint32_t count = 0; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3496 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3497 _OrthancPluginReturnSingleValue params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3498 memset(¶ms, 0, sizeof(params)); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3499 params.resultUint32 = &count; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3500 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3501 if (context->InvokeService(context, _OrthancPluginService_GetCommandLineArgumentsCount, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3502 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3503 /* Error */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3504 return 0; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3505 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3506 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3507 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3508 return count; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3509 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3510 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3511 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3512 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3513 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3514 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3515 * @brief Get the value of a command-line argument. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3516 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3517 * Get the value of one of the command-line arguments that were used |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3518 * to launch Orthanc. The number of available arguments can be |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3519 * retrieved by OrthancPluginGetCommandLineArgumentsCount(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3520 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3521 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3522 * @param argument The index of the argument. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3523 * @return The value of the argument, or NULL in the case of an error. This |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3524 * string must be freed by OrthancPluginFreeString(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3525 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3526 ORTHANC_PLUGIN_INLINE char* OrthancPluginGetCommandLineArgument( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3527 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3528 uint32_t argument) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3529 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3530 char* result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3531 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3532 _OrthancPluginGlobalProperty params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3533 params.result = &result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3534 params.property = (int32_t) argument; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3535 params.value = NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3536 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3537 if (context->InvokeService(context, _OrthancPluginService_GetCommandLineArgument, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3538 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3539 /* Error */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3540 return NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3541 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3542 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3543 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3544 return result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3545 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3546 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3547 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3548 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3549 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3550 * @brief Get the expected version of the database schema. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3551 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3552 * Retrieve the expected version of the database schema. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3553 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3554 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3555 * @return The version. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3556 * @ingroup Callbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3557 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3558 ORTHANC_PLUGIN_INLINE uint32_t OrthancPluginGetExpectedDatabaseVersion( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3559 OrthancPluginContext* context) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3560 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3561 uint32_t count = 0; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3562 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3563 _OrthancPluginReturnSingleValue params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3564 memset(¶ms, 0, sizeof(params)); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3565 params.resultUint32 = &count; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3566 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3567 if (context->InvokeService(context, _OrthancPluginService_GetExpectedDatabaseVersion, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3568 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3569 /* Error */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3570 return 0; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3571 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3572 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3573 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3574 return count; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3575 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3576 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3577 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3578 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3579 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3580 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3581 * @brief Return the content of the configuration file(s). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3582 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3583 * This function returns the content of the configuration that is |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3584 * used by Orthanc, formatted as a JSON string. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3585 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3586 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3587 * @return NULL in the case of an error, or a newly allocated string |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3588 * containing the configuration. This string must be freed by |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3589 * OrthancPluginFreeString(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3590 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3591 ORTHANC_PLUGIN_INLINE char *OrthancPluginGetConfiguration(OrthancPluginContext* context) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3592 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3593 char* result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3594 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3595 _OrthancPluginRetrieveDynamicString params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3596 params.result = &result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3597 params.argument = NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3598 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3599 if (context->InvokeService(context, _OrthancPluginService_GetConfiguration, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3600 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3601 /* Error */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3602 return NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3603 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3604 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3605 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3606 return result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3607 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3608 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3609 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3610 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3611 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3612 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3613 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3614 OrthancPluginRestOutput* output; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3615 const char* subType; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3616 const char* contentType; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3617 } _OrthancPluginStartMultipartAnswer; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3618 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3619 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3620 * @brief Start an HTTP multipart answer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3621 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3622 * Initiates a HTTP multipart answer, as the result of a REST request. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3623 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3624 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3625 * @param output The HTTP connection to the client application. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3626 * @param subType The sub-type of the multipart answer ("mixed" or "related"). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3627 * @param contentType The MIME type of the items in the multipart answer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3628 * @return 0 if success, or the error code if failure. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3629 * @see OrthancPluginSendMultipartItem(), OrthancPluginSendMultipartItem2() |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3630 * @ingroup REST |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3631 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3632 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginStartMultipartAnswer( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3633 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3634 OrthancPluginRestOutput* output, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3635 const char* subType, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3636 const char* contentType) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3637 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3638 _OrthancPluginStartMultipartAnswer params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3639 params.output = output; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3640 params.subType = subType; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3641 params.contentType = contentType; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3642 return context->InvokeService(context, _OrthancPluginService_StartMultipartAnswer, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3643 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3644 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3645 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3646 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3647 * @brief Send an item as a part of some HTTP multipart answer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3648 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3649 * This function sends an item as a part of some HTTP multipart |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3650 * answer that was initiated by OrthancPluginStartMultipartAnswer(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3651 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3652 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3653 * @param output The HTTP connection to the client application. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3654 * @param answer Pointer to the memory buffer containing the item. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3655 * @param answerSize Number of bytes of the item. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3656 * @return 0 if success, or the error code if failure (this notably happens |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3657 * if the connection is closed by the client). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3658 * @see OrthancPluginSendMultipartItem2() |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3659 * @ingroup REST |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3660 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3661 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginSendMultipartItem( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3662 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3663 OrthancPluginRestOutput* output, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3664 const void* answer, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3665 uint32_t answerSize) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3666 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3667 _OrthancPluginAnswerBuffer params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3668 params.output = output; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3669 params.answer = answer; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3670 params.answerSize = answerSize; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3671 params.mimeType = NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3672 return context->InvokeService(context, _OrthancPluginService_SendMultipartItem, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3673 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3674 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3675 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3676 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3677 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3678 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3679 OrthancPluginMemoryBuffer* target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3680 const void* source; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3681 uint32_t size; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3682 OrthancPluginCompressionType compression; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3683 uint8_t uncompress; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3684 } _OrthancPluginBufferCompression; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3685 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3686 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3687 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3688 * @brief Compress or decompress a buffer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3689 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3690 * This function compresses or decompresses a buffer, using the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3691 * version of the zlib library that is used by the Orthanc core. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3692 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3693 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3694 * @param target The target memory buffer. It must be freed with OrthancPluginFreeMemoryBuffer(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3695 * @param source The source buffer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3696 * @param size The size in bytes of the source buffer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3697 * @param compression The compression algorithm. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3698 * @param uncompress If set to "0", the buffer must be compressed. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3699 * If set to "1", the buffer must be uncompressed. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3700 * @return 0 if success, or the error code if failure. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3701 * @ingroup Images |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3702 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3703 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginBufferCompression( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3704 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3705 OrthancPluginMemoryBuffer* target, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3706 const void* source, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3707 uint32_t size, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3708 OrthancPluginCompressionType compression, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3709 uint8_t uncompress) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3710 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3711 _OrthancPluginBufferCompression params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3712 params.target = target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3713 params.source = source; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3714 params.size = size; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3715 params.compression = compression; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3716 params.uncompress = uncompress; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3717 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3718 return context->InvokeService(context, _OrthancPluginService_BufferCompression, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3719 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3720 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3721 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3722 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3723 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3724 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3725 OrthancPluginMemoryBuffer* target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3726 const char* path; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3727 } _OrthancPluginReadFile; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3728 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3729 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3730 * @brief Read a file. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3731 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3732 * Read the content of a file on the filesystem, and returns it into |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3733 * a newly allocated memory buffer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3734 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3735 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3736 * @param target The target memory buffer. It must be freed with OrthancPluginFreeMemoryBuffer(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3737 * @param path The path of the file to be read. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3738 * @return 0 if success, or the error code if failure. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3739 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3740 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginReadFile( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3741 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3742 OrthancPluginMemoryBuffer* target, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3743 const char* path) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3744 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3745 _OrthancPluginReadFile params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3746 params.target = target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3747 params.path = path; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3748 return context->InvokeService(context, _OrthancPluginService_ReadFile, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3749 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3750 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3751 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3752 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3753 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3754 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3755 const char* path; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3756 const void* data; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3757 uint32_t size; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3758 } _OrthancPluginWriteFile; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3759 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3760 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3761 * @brief Write a file. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3762 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3763 * Write the content of a memory buffer to the filesystem. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3764 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3765 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3766 * @param path The path of the file to be written. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3767 * @param data The content of the memory buffer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3768 * @param size The size of the memory buffer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3769 * @return 0 if success, or the error code if failure. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3770 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3771 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginWriteFile( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3772 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3773 const char* path, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3774 const void* data, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3775 uint32_t size) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3776 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3777 _OrthancPluginWriteFile params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3778 params.path = path; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3779 params.data = data; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3780 params.size = size; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3781 return context->InvokeService(context, _OrthancPluginService_WriteFile, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3782 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3783 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3784 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3785 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3786 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3787 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3788 const char** target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3789 OrthancPluginErrorCode error; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3790 } _OrthancPluginGetErrorDescription; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3791 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3792 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3793 * @brief Get the description of a given error code. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3794 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3795 * This function returns the description of a given error code. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3796 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3797 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3798 * @param error The error code of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3799 * @return The error description. This is a statically-allocated |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3800 * string, do not free it. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3801 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3802 ORTHANC_PLUGIN_INLINE const char* OrthancPluginGetErrorDescription( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3803 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3804 OrthancPluginErrorCode error) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3805 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3806 const char* result = NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3807 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3808 _OrthancPluginGetErrorDescription params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3809 params.target = &result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3810 params.error = error; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3811 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3812 if (context->InvokeService(context, _OrthancPluginService_GetErrorDescription, ¶ms) != OrthancPluginErrorCode_Success || |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3813 result == NULL) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3814 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3815 return "Unknown error code"; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3816 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3817 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3818 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3819 return result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3820 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3821 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3822 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3823 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3824 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3825 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3826 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3827 OrthancPluginRestOutput* output; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3828 uint16_t status; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3829 const char* body; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3830 uint32_t bodySize; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3831 } _OrthancPluginSendHttpStatus; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3832 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3833 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3834 * @brief Send a HTTP status, with a custom body. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3835 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3836 * This function answers to a HTTP request by sending a HTTP status |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3837 * code (such as "400 - Bad Request"), together with a body |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3838 * describing the error. The body will only be returned if the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3839 * configuration option "HttpDescribeErrors" of Orthanc is set to "true". |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3840 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3841 * Note that: |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3842 * - Successful requests (status 200) must use ::OrthancPluginAnswerBuffer(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3843 * - Redirections (status 301) must use ::OrthancPluginRedirect(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3844 * - Unauthorized access (status 401) must use ::OrthancPluginSendUnauthorized(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3845 * - Methods not allowed (status 405) must use ::OrthancPluginSendMethodNotAllowed(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3846 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3847 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3848 * @param output The HTTP connection to the client application. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3849 * @param status The HTTP status code to be sent. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3850 * @param body The body of the answer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3851 * @param bodySize The size of the body. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3852 * @see OrthancPluginSendHttpStatusCode() |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3853 * @ingroup REST |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3854 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3855 ORTHANC_PLUGIN_INLINE void OrthancPluginSendHttpStatus( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3856 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3857 OrthancPluginRestOutput* output, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3858 uint16_t status, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3859 const char* body, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3860 uint32_t bodySize) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3861 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3862 _OrthancPluginSendHttpStatus params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3863 params.output = output; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3864 params.status = status; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3865 params.body = body; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3866 params.bodySize = bodySize; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3867 context->InvokeService(context, _OrthancPluginService_SendHttpStatus, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3868 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3869 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3870 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3871 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3872 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3873 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3874 const OrthancPluginImage* image; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3875 uint32_t* resultUint32; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3876 OrthancPluginPixelFormat* resultPixelFormat; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3877 void** resultBuffer; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3878 } _OrthancPluginGetImageInfo; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3879 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3880 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3881 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3882 * @brief Return the pixel format of an image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3883 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3884 * This function returns the type of memory layout for the pixels of the given image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3885 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3886 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3887 * @param image The image of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3888 * @return The pixel format. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3889 * @ingroup Images |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3890 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3891 ORTHANC_PLUGIN_INLINE OrthancPluginPixelFormat OrthancPluginGetImagePixelFormat( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3892 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3893 const OrthancPluginImage* image) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3894 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3895 OrthancPluginPixelFormat target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3896 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3897 _OrthancPluginGetImageInfo params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3898 memset(¶ms, 0, sizeof(params)); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3899 params.image = image; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3900 params.resultPixelFormat = ⌖ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3901 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3902 if (context->InvokeService(context, _OrthancPluginService_GetImagePixelFormat, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3903 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3904 return OrthancPluginPixelFormat_Unknown; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3905 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3906 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3907 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3908 return (OrthancPluginPixelFormat) target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3909 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3910 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3911 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3912 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3913 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3914 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3915 * @brief Return the width of an image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3916 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3917 * This function returns the width of the given image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3918 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3919 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3920 * @param image The image of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3921 * @return The width. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3922 * @ingroup Images |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3923 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3924 ORTHANC_PLUGIN_INLINE uint32_t OrthancPluginGetImageWidth( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3925 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3926 const OrthancPluginImage* image) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3927 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3928 uint32_t width; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3929 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3930 _OrthancPluginGetImageInfo params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3931 memset(¶ms, 0, sizeof(params)); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3932 params.image = image; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3933 params.resultUint32 = &width; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3934 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3935 if (context->InvokeService(context, _OrthancPluginService_GetImageWidth, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3936 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3937 return 0; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3938 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3939 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3940 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3941 return width; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3942 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3943 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3944 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3945 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3946 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3947 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3948 * @brief Return the height of an image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3949 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3950 * This function returns the height of the given image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3951 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3952 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3953 * @param image The image of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3954 * @return The height. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3955 * @ingroup Images |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3956 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3957 ORTHANC_PLUGIN_INLINE uint32_t OrthancPluginGetImageHeight( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3958 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3959 const OrthancPluginImage* image) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3960 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3961 uint32_t height; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3962 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3963 _OrthancPluginGetImageInfo params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3964 memset(¶ms, 0, sizeof(params)); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3965 params.image = image; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3966 params.resultUint32 = &height; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3967 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3968 if (context->InvokeService(context, _OrthancPluginService_GetImageHeight, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3969 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3970 return 0; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3971 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3972 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3973 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3974 return height; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3975 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3976 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3977 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3978 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3979 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3980 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3981 * @brief Return the pitch of an image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3982 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3983 * This function returns the pitch of the given image. The pitch is |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3984 * defined as the number of bytes between 2 successive lines of the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3985 * image in the memory buffer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3986 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3987 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3988 * @param image The image of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3989 * @return The pitch. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3990 * @ingroup Images |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3991 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3992 ORTHANC_PLUGIN_INLINE uint32_t OrthancPluginGetImagePitch( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3993 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3994 const OrthancPluginImage* image) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3995 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3996 uint32_t pitch; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3997 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3998 _OrthancPluginGetImageInfo params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3999 memset(¶ms, 0, sizeof(params)); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4000 params.image = image; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4001 params.resultUint32 = &pitch; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4002 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4003 if (context->InvokeService(context, _OrthancPluginService_GetImagePitch, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4004 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4005 return 0; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4006 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4007 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4008 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4009 return pitch; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4010 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4011 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4012 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4013 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4014 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4015 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4016 * @brief Return a pointer to the content of an image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4017 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4018 * This function returns a pointer to the memory buffer that |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4019 * contains the pixels of the image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4020 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4021 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4022 * @param image The image of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4023 * @return The pointer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4024 * @ingroup Images |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4025 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4026 ORTHANC_PLUGIN_INLINE void* OrthancPluginGetImageBuffer( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4027 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4028 const OrthancPluginImage* image) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4029 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4030 void* target = NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4031 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4032 _OrthancPluginGetImageInfo params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4033 memset(¶ms, 0, sizeof(params)); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4034 params.resultBuffer = ⌖ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4035 params.image = image; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4036 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4037 if (context->InvokeService(context, _OrthancPluginService_GetImageBuffer, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4038 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4039 return NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4040 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4041 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4042 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4043 return target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4044 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4045 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4046 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4047 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4048 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4049 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4050 OrthancPluginImage** target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4051 const void* data; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4052 uint32_t size; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4053 OrthancPluginImageFormat format; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4054 } _OrthancPluginUncompressImage; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4055 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4056 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4057 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4058 * @brief Decode a compressed image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4059 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4060 * This function decodes a compressed image from a memory buffer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4061 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4062 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4063 * @param data Pointer to a memory buffer containing the compressed image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4064 * @param size Size of the memory buffer containing the compressed image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4065 * @param format The file format of the compressed image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4066 * @return The uncompressed image. It must be freed with OrthancPluginFreeImage(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4067 * @ingroup Images |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4068 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4069 ORTHANC_PLUGIN_INLINE OrthancPluginImage *OrthancPluginUncompressImage( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4070 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4071 const void* data, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4072 uint32_t size, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4073 OrthancPluginImageFormat format) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4074 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4075 OrthancPluginImage* target = NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4076 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4077 _OrthancPluginUncompressImage params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4078 memset(¶ms, 0, sizeof(params)); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4079 params.target = ⌖ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4080 params.data = data; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4081 params.size = size; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4082 params.format = format; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4083 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4084 if (context->InvokeService(context, _OrthancPluginService_UncompressImage, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4085 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4086 return NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4087 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4088 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4089 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4090 return target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4091 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4092 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4093 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4094 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4095 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4096 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4097 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4098 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4099 OrthancPluginImage* image; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4100 } _OrthancPluginFreeImage; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4101 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4102 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4103 * @brief Free an image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4104 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4105 * This function frees an image that was decoded with OrthancPluginUncompressImage(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4106 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4107 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4108 * @param image The image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4109 * @ingroup Images |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4110 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4111 ORTHANC_PLUGIN_INLINE void OrthancPluginFreeImage( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4112 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4113 OrthancPluginImage* image) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4114 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4115 _OrthancPluginFreeImage params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4116 params.image = image; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4117 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4118 context->InvokeService(context, _OrthancPluginService_FreeImage, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4119 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4120 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4121 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4122 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4123 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4124 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4125 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4126 OrthancPluginMemoryBuffer* target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4127 OrthancPluginImageFormat imageFormat; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4128 OrthancPluginPixelFormat pixelFormat; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4129 uint32_t width; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4130 uint32_t height; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4131 uint32_t pitch; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4132 const void* buffer; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4133 uint8_t quality; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4134 } _OrthancPluginCompressImage; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4135 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4136 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4137 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4138 * @brief Encode a PNG image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4139 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4140 * This function compresses the given memory buffer containing an |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4141 * image using the PNG specification, and stores the result of the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4142 * compression into a newly allocated memory buffer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4143 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4144 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4145 * @param target The target memory buffer. It must be freed with OrthancPluginFreeMemoryBuffer(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4146 * @param format The memory layout of the uncompressed image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4147 * @param width The width of the image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4148 * @param height The height of the image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4149 * @param pitch The pitch of the image (i.e. the number of bytes |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4150 * between 2 successive lines of the image in the memory buffer). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4151 * @param buffer The memory buffer containing the uncompressed image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4152 * @return 0 if success, or the error code if failure. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4153 * @see OrthancPluginCompressAndAnswerPngImage() |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4154 * @ingroup Images |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4155 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4156 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginCompressPngImage( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4157 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4158 OrthancPluginMemoryBuffer* target, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4159 OrthancPluginPixelFormat format, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4160 uint32_t width, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4161 uint32_t height, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4162 uint32_t pitch, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4163 const void* buffer) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4164 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4165 _OrthancPluginCompressImage params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4166 memset(¶ms, 0, sizeof(params)); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4167 params.target = target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4168 params.imageFormat = OrthancPluginImageFormat_Png; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4169 params.pixelFormat = format; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4170 params.width = width; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4171 params.height = height; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4172 params.pitch = pitch; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4173 params.buffer = buffer; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4174 params.quality = 0; /* Unused for PNG */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4175 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4176 return context->InvokeService(context, _OrthancPluginService_CompressImage, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4177 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4178 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4179 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4180 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4181 * @brief Encode a JPEG image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4182 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4183 * This function compresses the given memory buffer containing an |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4184 * image using the JPEG specification, and stores the result of the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4185 * compression into a newly allocated memory buffer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4186 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4187 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4188 * @param target The target memory buffer. It must be freed with OrthancPluginFreeMemoryBuffer(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4189 * @param format The memory layout of the uncompressed image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4190 * @param width The width of the image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4191 * @param height The height of the image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4192 * @param pitch The pitch of the image (i.e. the number of bytes |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4193 * between 2 successive lines of the image in the memory buffer). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4194 * @param buffer The memory buffer containing the uncompressed image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4195 * @param quality The quality of the JPEG encoding, between 1 (worst |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4196 * quality, best compression) and 100 (best quality, worst |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4197 * compression). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4198 * @return 0 if success, or the error code if failure. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4199 * @ingroup Images |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4200 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4201 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginCompressJpegImage( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4202 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4203 OrthancPluginMemoryBuffer* target, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4204 OrthancPluginPixelFormat format, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4205 uint32_t width, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4206 uint32_t height, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4207 uint32_t pitch, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4208 const void* buffer, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4209 uint8_t quality) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4210 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4211 _OrthancPluginCompressImage params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4212 memset(¶ms, 0, sizeof(params)); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4213 params.target = target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4214 params.imageFormat = OrthancPluginImageFormat_Jpeg; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4215 params.pixelFormat = format; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4216 params.width = width; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4217 params.height = height; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4218 params.pitch = pitch; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4219 params.buffer = buffer; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4220 params.quality = quality; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4221 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4222 return context->InvokeService(context, _OrthancPluginService_CompressImage, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4223 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4224 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4225 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4226 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4227 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4228 * @brief Answer to a REST request with a JPEG image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4229 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4230 * This function answers to a REST request with a JPEG image. The |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4231 * parameters of this function describe a memory buffer that |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4232 * contains an uncompressed image. The image will be automatically compressed |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4233 * as a JPEG image by the core system of Orthanc. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4234 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4235 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4236 * @param output The HTTP connection to the client application. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4237 * @param format The memory layout of the uncompressed image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4238 * @param width The width of the image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4239 * @param height The height of the image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4240 * @param pitch The pitch of the image (i.e. the number of bytes |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4241 * between 2 successive lines of the image in the memory buffer). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4242 * @param buffer The memory buffer containing the uncompressed image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4243 * @param quality The quality of the JPEG encoding, between 1 (worst |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4244 * quality, best compression) and 100 (best quality, worst |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4245 * compression). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4246 * @ingroup REST |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4247 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4248 ORTHANC_PLUGIN_INLINE void OrthancPluginCompressAndAnswerJpegImage( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4249 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4250 OrthancPluginRestOutput* output, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4251 OrthancPluginPixelFormat format, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4252 uint32_t width, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4253 uint32_t height, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4254 uint32_t pitch, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4255 const void* buffer, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4256 uint8_t quality) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4257 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4258 _OrthancPluginCompressAndAnswerImage params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4259 params.output = output; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4260 params.imageFormat = OrthancPluginImageFormat_Jpeg; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4261 params.pixelFormat = format; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4262 params.width = width; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4263 params.height = height; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4264 params.pitch = pitch; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4265 params.buffer = buffer; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4266 params.quality = quality; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4267 context->InvokeService(context, _OrthancPluginService_CompressAndAnswerImage, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4268 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4269 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4270 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4271 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4272 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4273 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4274 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4275 OrthancPluginMemoryBuffer* target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4276 OrthancPluginHttpMethod method; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4277 const char* url; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4278 const char* username; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4279 const char* password; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4280 const void* body; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4281 uint32_t bodySize; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4282 } _OrthancPluginCallHttpClient; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4283 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4284 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4285 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4286 * @brief Issue a HTTP GET call. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4287 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4288 * Make a HTTP GET call to the given URL. The result to the query is |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4289 * stored into a newly allocated memory buffer. Favor |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4290 * OrthancPluginRestApiGet() if calling the built-in REST API of the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4291 * Orthanc instance that hosts this plugin. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4292 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4293 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4294 * @param target The target memory buffer. It must be freed with OrthancPluginFreeMemoryBuffer(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4295 * @param url The URL of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4296 * @param username The username (can be <tt>NULL</tt> if no password protection). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4297 * @param password The password (can be <tt>NULL</tt> if no password protection). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4298 * @return 0 if success, or the error code if failure. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4299 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4300 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4301 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginHttpGet( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4302 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4303 OrthancPluginMemoryBuffer* target, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4304 const char* url, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4305 const char* username, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4306 const char* password) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4307 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4308 _OrthancPluginCallHttpClient params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4309 memset(¶ms, 0, sizeof(params)); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4310 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4311 params.target = target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4312 params.method = OrthancPluginHttpMethod_Get; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4313 params.url = url; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4314 params.username = username; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4315 params.password = password; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4316 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4317 return context->InvokeService(context, _OrthancPluginService_CallHttpClient, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4318 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4319 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4320 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4321 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4322 * @brief Issue a HTTP POST call. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4323 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4324 * Make a HTTP POST call to the given URL. The result to the query |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4325 * is stored into a newly allocated memory buffer. Favor |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4326 * OrthancPluginRestApiPost() if calling the built-in REST API of |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4327 * the Orthanc instance that hosts this plugin. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4328 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4329 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4330 * @param target The target memory buffer. It must be freed with OrthancPluginFreeMemoryBuffer(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4331 * @param url The URL of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4332 * @param body The content of the body of the request. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4333 * @param bodySize The size of the body of the request. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4334 * @param username The username (can be <tt>NULL</tt> if no password protection). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4335 * @param password The password (can be <tt>NULL</tt> if no password protection). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4336 * @return 0 if success, or the error code if failure. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4337 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4338 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4339 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginHttpPost( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4340 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4341 OrthancPluginMemoryBuffer* target, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4342 const char* url, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4343 const void* body, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4344 uint32_t bodySize, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4345 const char* username, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4346 const char* password) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4347 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4348 _OrthancPluginCallHttpClient params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4349 memset(¶ms, 0, sizeof(params)); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4350 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4351 params.target = target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4352 params.method = OrthancPluginHttpMethod_Post; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4353 params.url = url; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4354 params.body = body; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4355 params.bodySize = bodySize; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4356 params.username = username; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4357 params.password = password; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4358 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4359 return context->InvokeService(context, _OrthancPluginService_CallHttpClient, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4360 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4361 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4362 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4363 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4364 * @brief Issue a HTTP PUT call. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4365 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4366 * Make a HTTP PUT call to the given URL. The result to the query is |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4367 * stored into a newly allocated memory buffer. Favor |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4368 * OrthancPluginRestApiPut() if calling the built-in REST API of the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4369 * Orthanc instance that hosts this plugin. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4370 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4371 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4372 * @param target The target memory buffer. It must be freed with OrthancPluginFreeMemoryBuffer(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4373 * @param url The URL of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4374 * @param body The content of the body of the request. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4375 * @param bodySize The size of the body of the request. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4376 * @param username The username (can be <tt>NULL</tt> if no password protection). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4377 * @param password The password (can be <tt>NULL</tt> if no password protection). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4378 * @return 0 if success, or the error code if failure. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4379 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4380 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4381 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginHttpPut( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4382 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4383 OrthancPluginMemoryBuffer* target, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4384 const char* url, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4385 const void* body, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4386 uint32_t bodySize, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4387 const char* username, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4388 const char* password) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4389 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4390 _OrthancPluginCallHttpClient params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4391 memset(¶ms, 0, sizeof(params)); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4392 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4393 params.target = target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4394 params.method = OrthancPluginHttpMethod_Put; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4395 params.url = url; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4396 params.body = body; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4397 params.bodySize = bodySize; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4398 params.username = username; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4399 params.password = password; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4400 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4401 return context->InvokeService(context, _OrthancPluginService_CallHttpClient, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4402 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4403 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4404 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4405 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4406 * @brief Issue a HTTP DELETE call. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4407 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4408 * Make a HTTP DELETE call to the given URL. Favor |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4409 * OrthancPluginRestApiDelete() if calling the built-in REST API of |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4410 * the Orthanc instance that hosts this plugin. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4411 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4412 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4413 * @param url The URL of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4414 * @param username The username (can be <tt>NULL</tt> if no password protection). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4415 * @param password The password (can be <tt>NULL</tt> if no password protection). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4416 * @return 0 if success, or the error code if failure. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4417 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4418 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4419 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginHttpDelete( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4420 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4421 const char* url, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4422 const char* username, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4423 const char* password) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4424 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4425 _OrthancPluginCallHttpClient params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4426 memset(¶ms, 0, sizeof(params)); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4427 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4428 params.method = OrthancPluginHttpMethod_Delete; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4429 params.url = url; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4430 params.username = username; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4431 params.password = password; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4432 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4433 return context->InvokeService(context, _OrthancPluginService_CallHttpClient, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4434 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4435 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4436 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4437 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4438 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4439 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4440 OrthancPluginImage** target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4441 const OrthancPluginImage* source; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4442 OrthancPluginPixelFormat targetFormat; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4443 } _OrthancPluginConvertPixelFormat; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4444 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4445 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4446 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4447 * @brief Change the pixel format of an image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4448 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4449 * This function creates a new image, changing the memory layout of the pixels. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4450 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4451 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4452 * @param source The source image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4453 * @param targetFormat The target pixel format. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4454 * @return The resulting image. It must be freed with OrthancPluginFreeImage(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4455 * @ingroup Images |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4456 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4457 ORTHANC_PLUGIN_INLINE OrthancPluginImage *OrthancPluginConvertPixelFormat( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4458 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4459 const OrthancPluginImage* source, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4460 OrthancPluginPixelFormat targetFormat) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4461 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4462 OrthancPluginImage* target = NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4463 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4464 _OrthancPluginConvertPixelFormat params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4465 params.target = ⌖ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4466 params.source = source; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4467 params.targetFormat = targetFormat; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4468 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4469 if (context->InvokeService(context, _OrthancPluginService_ConvertPixelFormat, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4470 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4471 return NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4472 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4473 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4474 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4475 return target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4476 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4477 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4478 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4479 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4480 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4481 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4482 * @brief Return the number of available fonts. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4483 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4484 * This function returns the number of fonts that are built in the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4485 * Orthanc core. These fonts can be used to draw texts on images |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4486 * through OrthancPluginDrawText(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4487 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4488 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4489 * @return The number of fonts. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4490 * @ingroup Images |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4491 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4492 ORTHANC_PLUGIN_INLINE uint32_t OrthancPluginGetFontsCount( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4493 OrthancPluginContext* context) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4494 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4495 uint32_t count = 0; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4496 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4497 _OrthancPluginReturnSingleValue params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4498 memset(¶ms, 0, sizeof(params)); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4499 params.resultUint32 = &count; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4500 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4501 if (context->InvokeService(context, _OrthancPluginService_GetFontsCount, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4502 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4503 /* Error */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4504 return 0; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4505 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4506 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4507 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4508 return count; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4509 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4510 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4511 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4512 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4513 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4514 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4515 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4516 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4517 uint32_t fontIndex; /* in */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4518 const char** name; /* out */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4519 uint32_t* size; /* out */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4520 } _OrthancPluginGetFontInfo; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4521 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4522 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4523 * @brief Return the name of a font. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4524 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4525 * This function returns the name of a font that is built in the Orthanc core. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4526 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4527 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4528 * @param fontIndex The index of the font. This value must be less than OrthancPluginGetFontsCount(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4529 * @return The font name. This is a statically-allocated string, do not free it. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4530 * @ingroup Images |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4531 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4532 ORTHANC_PLUGIN_INLINE const char* OrthancPluginGetFontName( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4533 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4534 uint32_t fontIndex) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4535 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4536 const char* result = NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4537 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4538 _OrthancPluginGetFontInfo params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4539 memset(¶ms, 0, sizeof(params)); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4540 params.name = &result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4541 params.fontIndex = fontIndex; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4542 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4543 if (context->InvokeService(context, _OrthancPluginService_GetFontInfo, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4544 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4545 return NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4546 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4547 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4548 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4549 return result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4550 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4551 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4552 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4553 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4554 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4555 * @brief Return the size of a font. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4556 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4557 * This function returns the size of a font that is built in the Orthanc core. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4558 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4559 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4560 * @param fontIndex The index of the font. This value must be less than OrthancPluginGetFontsCount(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4561 * @return The font size. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4562 * @ingroup Images |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4563 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4564 ORTHANC_PLUGIN_INLINE uint32_t OrthancPluginGetFontSize( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4565 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4566 uint32_t fontIndex) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4567 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4568 uint32_t result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4569 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4570 _OrthancPluginGetFontInfo params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4571 memset(¶ms, 0, sizeof(params)); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4572 params.size = &result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4573 params.fontIndex = fontIndex; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4574 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4575 if (context->InvokeService(context, _OrthancPluginService_GetFontInfo, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4576 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4577 return 0; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4578 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4579 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4580 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4581 return result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4582 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4583 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4584 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4585 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4586 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4587 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4588 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4589 OrthancPluginImage* image; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4590 uint32_t fontIndex; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4591 const char* utf8Text; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4592 int32_t x; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4593 int32_t y; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4594 uint8_t r; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4595 uint8_t g; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4596 uint8_t b; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4597 } _OrthancPluginDrawText; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4598 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4599 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4600 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4601 * @brief Draw text on an image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4602 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4603 * This function draws some text on some image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4604 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4605 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4606 * @param image The image upon which to draw the text. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4607 * @param fontIndex The index of the font. This value must be less than OrthancPluginGetFontsCount(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4608 * @param utf8Text The text to be drawn, encoded as an UTF-8 zero-terminated string. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4609 * @param x The X position of the text over the image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4610 * @param y The Y position of the text over the image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4611 * @param r The value of the red color channel of the text. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4612 * @param g The value of the green color channel of the text. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4613 * @param b The value of the blue color channel of the text. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4614 * @return 0 if success, other value if error. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4615 * @ingroup Images |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4616 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4617 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginDrawText( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4618 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4619 OrthancPluginImage* image, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4620 uint32_t fontIndex, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4621 const char* utf8Text, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4622 int32_t x, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4623 int32_t y, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4624 uint8_t r, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4625 uint8_t g, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4626 uint8_t b) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4627 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4628 _OrthancPluginDrawText params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4629 memset(¶ms, 0, sizeof(params)); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4630 params.image = image; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4631 params.fontIndex = fontIndex; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4632 params.utf8Text = utf8Text; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4633 params.x = x; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4634 params.y = y; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4635 params.r = r; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4636 params.g = g; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4637 params.b = b; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4638 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4639 return context->InvokeService(context, _OrthancPluginService_DrawText, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4640 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4641 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4642 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4643 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4644 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4645 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4646 OrthancPluginStorageArea* storageArea; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4647 const char* uuid; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4648 const void* content; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4649 uint64_t size; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4650 OrthancPluginContentType type; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4651 } _OrthancPluginStorageAreaCreate; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4652 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4653 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4654 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4655 * @brief Create a file inside the storage area. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4656 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4657 * This function creates a new file inside the storage area that is |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4658 * currently used by Orthanc. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4659 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4660 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4661 * @param storageArea The storage area. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4662 * @param uuid The identifier of the file to be created. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4663 * @param content The content to store in the newly created file. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4664 * @param size The size of the content. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4665 * @param type The type of the file content. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4666 * @return 0 if success, other value if error. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4667 * @ingroup Callbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4668 * @deprecated This function should not be used anymore. Use "OrthancPluginRestApiPut()" on |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4669 * "/{patients|studies|series|instances}/{id}/attachments/{name}" instead. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4670 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4671 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginStorageAreaCreate( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4672 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4673 OrthancPluginStorageArea* storageArea, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4674 const char* uuid, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4675 const void* content, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4676 uint64_t size, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4677 OrthancPluginContentType type) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4678 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4679 _OrthancPluginStorageAreaCreate params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4680 params.storageArea = storageArea; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4681 params.uuid = uuid; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4682 params.content = content; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4683 params.size = size; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4684 params.type = type; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4685 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4686 return context->InvokeService(context, _OrthancPluginService_StorageAreaCreate, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4687 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4688 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4689 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4690 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4691 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4692 OrthancPluginMemoryBuffer* target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4693 OrthancPluginStorageArea* storageArea; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4694 const char* uuid; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4695 OrthancPluginContentType type; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4696 } _OrthancPluginStorageAreaRead; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4697 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4698 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4699 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4700 * @brief Read a file from the storage area. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4701 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4702 * This function reads the content of a given file from the storage |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4703 * area that is currently used by Orthanc. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4704 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4705 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4706 * @param target The target memory buffer. It must be freed with OrthancPluginFreeMemoryBuffer(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4707 * @param storageArea The storage area. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4708 * @param uuid The identifier of the file to be read. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4709 * @param type The type of the file content. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4710 * @return 0 if success, other value if error. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4711 * @ingroup Callbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4712 * @deprecated This function should not be used anymore. Use "OrthancPluginRestApiGet()" on |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4713 * "/{patients|studies|series|instances}/{id}/attachments/{name}" instead. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4714 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4715 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginStorageAreaRead( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4716 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4717 OrthancPluginMemoryBuffer* target, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4718 OrthancPluginStorageArea* storageArea, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4719 const char* uuid, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4720 OrthancPluginContentType type) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4721 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4722 _OrthancPluginStorageAreaRead params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4723 params.target = target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4724 params.storageArea = storageArea; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4725 params.uuid = uuid; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4726 params.type = type; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4727 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4728 return context->InvokeService(context, _OrthancPluginService_StorageAreaRead, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4729 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4730 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4731 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4732 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4733 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4734 OrthancPluginStorageArea* storageArea; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4735 const char* uuid; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4736 OrthancPluginContentType type; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4737 } _OrthancPluginStorageAreaRemove; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4738 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4739 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4740 * @brief Remove a file from the storage area. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4741 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4742 * This function removes a given file from the storage area that is |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4743 * currently used by Orthanc. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4744 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4745 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4746 * @param storageArea The storage area. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4747 * @param uuid The identifier of the file to be removed. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4748 * @param type The type of the file content. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4749 * @return 0 if success, other value if error. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4750 * @ingroup Callbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4751 * @deprecated This function should not be used anymore. Use "OrthancPluginRestApiDelete()" on |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4752 * "/{patients|studies|series|instances}/{id}/attachments/{name}" instead. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4753 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4754 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginStorageAreaRemove( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4755 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4756 OrthancPluginStorageArea* storageArea, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4757 const char* uuid, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4758 OrthancPluginContentType type) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4759 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4760 _OrthancPluginStorageAreaRemove params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4761 params.storageArea = storageArea; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4762 params.uuid = uuid; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4763 params.type = type; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4764 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4765 return context->InvokeService(context, _OrthancPluginService_StorageAreaRemove, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4766 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4767 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4768 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4769 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4770 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4771 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4772 OrthancPluginErrorCode* target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4773 int32_t code; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4774 uint16_t httpStatus; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4775 const char* message; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4776 } _OrthancPluginRegisterErrorCode; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4777 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4778 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4779 * @brief Declare a custom error code for this plugin. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4780 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4781 * This function declares a custom error code that can be generated |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4782 * by this plugin. This declaration is used to enrich the body of |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4783 * the HTTP answer in the case of an error, and to set the proper |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4784 * HTTP status code. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4785 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4786 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4787 * @param code The error code that is internal to this plugin. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4788 * @param httpStatus The HTTP status corresponding to this error. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4789 * @param message The description of the error. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4790 * @return The error code that has been assigned inside the Orthanc core. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4791 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4792 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4793 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginRegisterErrorCode( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4794 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4795 int32_t code, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4796 uint16_t httpStatus, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4797 const char* message) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4798 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4799 OrthancPluginErrorCode target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4800 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4801 _OrthancPluginRegisterErrorCode params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4802 params.target = ⌖ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4803 params.code = code; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4804 params.httpStatus = httpStatus; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4805 params.message = message; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4806 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4807 if (context->InvokeService(context, _OrthancPluginService_RegisterErrorCode, ¶ms) == OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4808 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4809 return target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4810 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4811 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4812 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4813 /* There was an error while assigned the error. Use a generic code. */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4814 return OrthancPluginErrorCode_Plugin; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4815 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4816 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4817 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4818 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4819 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4820 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4821 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4822 uint16_t group; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4823 uint16_t element; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4824 OrthancPluginValueRepresentation vr; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4825 const char* name; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4826 uint32_t minMultiplicity; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4827 uint32_t maxMultiplicity; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4828 } _OrthancPluginRegisterDictionaryTag; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4829 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4830 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4831 * @brief Register a new tag into the DICOM dictionary. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4832 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4833 * This function declares a new public tag in the dictionary of |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4834 * DICOM tags that are known to Orthanc. This function should be |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4835 * used in the OrthancPluginInitialize() callback. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4836 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4837 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4838 * @param group The group of the tag. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4839 * @param element The element of the tag. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4840 * @param vr The value representation of the tag. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4841 * @param name The nickname of the tag. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4842 * @param minMultiplicity The minimum multiplicity of the tag (must be above 0). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4843 * @param maxMultiplicity The maximum multiplicity of the tag. A value of 0 means |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4844 * an arbitrary multiplicity ("<tt>n</tt>"). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4845 * @return 0 if success, other value if error. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4846 * @see OrthancPluginRegisterPrivateDictionaryTag() |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4847 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4848 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4849 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginRegisterDictionaryTag( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4850 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4851 uint16_t group, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4852 uint16_t element, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4853 OrthancPluginValueRepresentation vr, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4854 const char* name, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4855 uint32_t minMultiplicity, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4856 uint32_t maxMultiplicity) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4857 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4858 _OrthancPluginRegisterDictionaryTag params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4859 params.group = group; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4860 params.element = element; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4861 params.vr = vr; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4862 params.name = name; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4863 params.minMultiplicity = minMultiplicity; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4864 params.maxMultiplicity = maxMultiplicity; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4865 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4866 return context->InvokeService(context, _OrthancPluginService_RegisterDictionaryTag, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4867 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4868 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4869 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4870 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4871 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4872 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4873 uint16_t group; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4874 uint16_t element; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4875 OrthancPluginValueRepresentation vr; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4876 const char* name; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4877 uint32_t minMultiplicity; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4878 uint32_t maxMultiplicity; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4879 const char* privateCreator; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4880 } _OrthancPluginRegisterPrivateDictionaryTag; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4881 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4882 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4883 * @brief Register a new private tag into the DICOM dictionary. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4884 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4885 * This function declares a new private tag in the dictionary of |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4886 * DICOM tags that are known to Orthanc. This function should be |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4887 * used in the OrthancPluginInitialize() callback. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4888 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4889 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4890 * @param group The group of the tag. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4891 * @param element The element of the tag. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4892 * @param vr The value representation of the tag. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4893 * @param name The nickname of the tag. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4894 * @param minMultiplicity The minimum multiplicity of the tag (must be above 0). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4895 * @param maxMultiplicity The maximum multiplicity of the tag. A value of 0 means |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4896 * an arbitrary multiplicity ("<tt>n</tt>"). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4897 * @param privateCreator The private creator of this private tag. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4898 * @return 0 if success, other value if error. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4899 * @see OrthancPluginRegisterDictionaryTag() |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4900 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4901 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4902 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginRegisterPrivateDictionaryTag( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4903 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4904 uint16_t group, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4905 uint16_t element, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4906 OrthancPluginValueRepresentation vr, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4907 const char* name, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4908 uint32_t minMultiplicity, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4909 uint32_t maxMultiplicity, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4910 const char* privateCreator) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4911 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4912 _OrthancPluginRegisterPrivateDictionaryTag params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4913 params.group = group; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4914 params.element = element; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4915 params.vr = vr; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4916 params.name = name; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4917 params.minMultiplicity = minMultiplicity; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4918 params.maxMultiplicity = maxMultiplicity; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4919 params.privateCreator = privateCreator; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4920 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4921 return context->InvokeService(context, _OrthancPluginService_RegisterPrivateDictionaryTag, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4922 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4923 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4924 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4925 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4926 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4927 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4928 OrthancPluginStorageArea* storageArea; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4929 OrthancPluginResourceType level; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4930 } _OrthancPluginReconstructMainDicomTags; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4931 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4932 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4933 * @brief Reconstruct the main DICOM tags. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4934 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4935 * This function requests the Orthanc core to reconstruct the main |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4936 * DICOM tags of all the resources of the given type. This function |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4937 * can only be used as a part of the upgrade of a custom database |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4938 * back-end. A database transaction will be automatically setup. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4939 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4940 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4941 * @param storageArea The storage area. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4942 * @param level The type of the resources of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4943 * @return 0 if success, other value if error. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4944 * @ingroup Callbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4945 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4946 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginReconstructMainDicomTags( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4947 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4948 OrthancPluginStorageArea* storageArea, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4949 OrthancPluginResourceType level) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4950 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4951 _OrthancPluginReconstructMainDicomTags params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4952 params.level = level; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4953 params.storageArea = storageArea; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4954 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4955 return context->InvokeService(context, _OrthancPluginService_ReconstructMainDicomTags, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4956 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4957 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4958 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4959 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4960 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4961 char** result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4962 const char* instanceId; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4963 const void* buffer; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4964 uint32_t size; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4965 OrthancPluginDicomToJsonFormat format; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4966 OrthancPluginDicomToJsonFlags flags; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4967 uint32_t maxStringLength; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4968 } _OrthancPluginDicomToJson; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4969 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4970 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4971 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4972 * @brief Format a DICOM memory buffer as a JSON string. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4973 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4974 * This function takes as input a memory buffer containing a DICOM |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4975 * file, and outputs a JSON string representing the tags of this |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4976 * DICOM file. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4977 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4978 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4979 * @param buffer The memory buffer containing the DICOM file. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4980 * @param size The size of the memory buffer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4981 * @param format The output format. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4982 * @param flags Flags governing the output. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4983 * @param maxStringLength The maximum length of a field. Too long fields will |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4984 * be output as "null". The 0 value means no maximum length. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4985 * @return The NULL value if the case of an error, or the JSON |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4986 * string. This string must be freed by OrthancPluginFreeString(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4987 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4988 * @see OrthancPluginDicomInstanceToJson |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4989 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4990 ORTHANC_PLUGIN_INLINE char* OrthancPluginDicomBufferToJson( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4991 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4992 const void* buffer, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4993 uint32_t size, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4994 OrthancPluginDicomToJsonFormat format, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4995 OrthancPluginDicomToJsonFlags flags, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4996 uint32_t maxStringLength) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4997 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4998 char* result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4999 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5000 _OrthancPluginDicomToJson params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5001 memset(¶ms, 0, sizeof(params)); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5002 params.result = &result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5003 params.buffer = buffer; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5004 params.size = size; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5005 params.format = format; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5006 params.flags = flags; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5007 params.maxStringLength = maxStringLength; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5008 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5009 if (context->InvokeService(context, _OrthancPluginService_DicomBufferToJson, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5010 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5011 /* Error */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5012 return NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5013 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5014 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5015 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5016 return result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5017 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5018 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5019 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5020 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5021 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5022 * @brief Format a DICOM instance as a JSON string. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5023 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5024 * This function formats a DICOM instance that is stored in Orthanc, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5025 * and outputs a JSON string representing the tags of this DICOM |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5026 * instance. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5027 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5028 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5029 * @param instanceId The Orthanc identifier of the instance. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5030 * @param format The output format. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5031 * @param flags Flags governing the output. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5032 * @param maxStringLength The maximum length of a field. Too long fields will |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5033 * be output as "null". The 0 value means no maximum length. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5034 * @return The NULL value if the case of an error, or the JSON |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5035 * string. This string must be freed by OrthancPluginFreeString(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5036 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5037 * @see OrthancPluginDicomInstanceToJson |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5038 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5039 ORTHANC_PLUGIN_INLINE char* OrthancPluginDicomInstanceToJson( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5040 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5041 const char* instanceId, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5042 OrthancPluginDicomToJsonFormat format, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5043 OrthancPluginDicomToJsonFlags flags, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5044 uint32_t maxStringLength) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5045 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5046 char* result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5047 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5048 _OrthancPluginDicomToJson params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5049 memset(¶ms, 0, sizeof(params)); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5050 params.result = &result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5051 params.instanceId = instanceId; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5052 params.format = format; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5053 params.flags = flags; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5054 params.maxStringLength = maxStringLength; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5055 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5056 if (context->InvokeService(context, _OrthancPluginService_DicomInstanceToJson, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5057 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5058 /* Error */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5059 return NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5060 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5061 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5062 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5063 return result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5064 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5065 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5066 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5067 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5068 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5069 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5070 OrthancPluginMemoryBuffer* target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5071 const char* uri; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5072 uint32_t headersCount; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5073 const char* const* headersKeys; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5074 const char* const* headersValues; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5075 int32_t afterPlugins; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5076 } _OrthancPluginRestApiGet2; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5077 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5078 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5079 * @brief Make a GET call to the Orthanc REST API, with custom HTTP headers. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5080 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5081 * Make a GET call to the Orthanc REST API with extended |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5082 * parameters. The result to the query is stored into a newly |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5083 * allocated memory buffer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5084 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5085 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5086 * @param target The target memory buffer. It must be freed with OrthancPluginFreeMemoryBuffer(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5087 * @param uri The URI in the built-in Orthanc API. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5088 * @param headersCount The number of HTTP headers. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5089 * @param headersKeys Array containing the keys of the HTTP headers (can be <tt>NULL</tt> if no header). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5090 * @param headersValues Array containing the values of the HTTP headers (can be <tt>NULL</tt> if no header). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5091 * @param afterPlugins If 0, the built-in API of Orthanc is used. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5092 * If 1, the API is tainted by the plugins. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5093 * @return 0 if success, or the error code if failure. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5094 * @see OrthancPluginRestApiGet, OrthancPluginRestApiGetAfterPlugins |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5095 * @ingroup Orthanc |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5096 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5097 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginRestApiGet2( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5098 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5099 OrthancPluginMemoryBuffer* target, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5100 const char* uri, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5101 uint32_t headersCount, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5102 const char* const* headersKeys, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5103 const char* const* headersValues, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5104 int32_t afterPlugins) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5105 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5106 _OrthancPluginRestApiGet2 params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5107 params.target = target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5108 params.uri = uri; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5109 params.headersCount = headersCount; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5110 params.headersKeys = headersKeys; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5111 params.headersValues = headersValues; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5112 params.afterPlugins = afterPlugins; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5113 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5114 return context->InvokeService(context, _OrthancPluginService_RestApiGet2, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5115 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5116 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5117 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5118 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5119 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5120 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5121 OrthancPluginWorklistCallback callback; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5122 } _OrthancPluginWorklistCallback; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5123 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5124 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5125 * @brief Register a callback to handle modality worklists requests. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5126 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5127 * This function registers a callback to handle C-Find SCP requests |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5128 * on modality worklists. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5129 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5130 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5131 * @param callback The callback. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5132 * @return 0 if success, other value if error. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5133 * @ingroup DicomCallbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5134 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5135 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginRegisterWorklistCallback( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5136 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5137 OrthancPluginWorklistCallback callback) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5138 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5139 _OrthancPluginWorklistCallback params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5140 params.callback = callback; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5141 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5142 return context->InvokeService(context, _OrthancPluginService_RegisterWorklistCallback, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5143 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5144 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5145 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5146 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5147 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5148 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5149 OrthancPluginWorklistAnswers* answers; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5150 const OrthancPluginWorklistQuery* query; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5151 const void* dicom; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5152 uint32_t size; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5153 } _OrthancPluginWorklistAnswersOperation; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5154 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5155 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5156 * @brief Add one answer to some modality worklist request. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5157 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5158 * This function adds one worklist (encoded as a DICOM file) to the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5159 * set of answers corresponding to some C-Find SCP request against |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5160 * modality worklists. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5161 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5162 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5163 * @param answers The set of answers. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5164 * @param query The worklist query, as received by the callback. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5165 * @param dicom The worklist to answer, encoded as a DICOM file. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5166 * @param size The size of the DICOM file. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5167 * @return 0 if success, other value if error. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5168 * @ingroup DicomCallbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5169 * @see OrthancPluginCreateDicom() |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5170 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5171 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginWorklistAddAnswer( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5172 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5173 OrthancPluginWorklistAnswers* answers, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5174 const OrthancPluginWorklistQuery* query, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5175 const void* dicom, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5176 uint32_t size) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5177 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5178 _OrthancPluginWorklistAnswersOperation params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5179 params.answers = answers; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5180 params.query = query; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5181 params.dicom = dicom; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5182 params.size = size; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5183 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5184 return context->InvokeService(context, _OrthancPluginService_WorklistAddAnswer, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5185 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5186 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5187 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5188 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5189 * @brief Mark the set of worklist answers as incomplete. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5190 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5191 * This function marks as incomplete the set of answers |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5192 * corresponding to some C-Find SCP request against modality |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5193 * worklists. This must be used if canceling the handling of a |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5194 * request when too many answers are to be returned. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5195 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5196 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5197 * @param answers The set of answers. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5198 * @return 0 if success, other value if error. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5199 * @ingroup DicomCallbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5200 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5201 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginWorklistMarkIncomplete( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5202 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5203 OrthancPluginWorklistAnswers* answers) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5204 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5205 _OrthancPluginWorklistAnswersOperation params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5206 params.answers = answers; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5207 params.query = NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5208 params.dicom = NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5209 params.size = 0; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5210 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5211 return context->InvokeService(context, _OrthancPluginService_WorklistMarkIncomplete, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5212 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5213 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5214 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5215 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5216 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5217 const OrthancPluginWorklistQuery* query; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5218 const void* dicom; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5219 uint32_t size; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5220 int32_t* isMatch; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5221 OrthancPluginMemoryBuffer* target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5222 } _OrthancPluginWorklistQueryOperation; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5223 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5224 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5225 * @brief Test whether a worklist matches the query. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5226 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5227 * This function checks whether one worklist (encoded as a DICOM |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5228 * file) matches the C-Find SCP query against modality |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5229 * worklists. This function must be called before adding the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5230 * worklist as an answer through OrthancPluginWorklistAddAnswer(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5231 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5232 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5233 * @param query The worklist query, as received by the callback. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5234 * @param dicom The worklist to answer, encoded as a DICOM file. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5235 * @param size The size of the DICOM file. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5236 * @return 1 if the worklist matches the query, 0 otherwise. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5237 * @ingroup DicomCallbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5238 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5239 ORTHANC_PLUGIN_INLINE int32_t OrthancPluginWorklistIsMatch( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5240 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5241 const OrthancPluginWorklistQuery* query, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5242 const void* dicom, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5243 uint32_t size) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5244 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5245 int32_t isMatch = 0; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5246 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5247 _OrthancPluginWorklistQueryOperation params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5248 params.query = query; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5249 params.dicom = dicom; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5250 params.size = size; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5251 params.isMatch = &isMatch; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5252 params.target = NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5253 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5254 if (context->InvokeService(context, _OrthancPluginService_WorklistIsMatch, ¶ms) == OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5255 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5256 return isMatch; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5257 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5258 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5259 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5260 /* Error: Assume non-match */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5261 return 0; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5262 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5263 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5264 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5265 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5266 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5267 * @brief Retrieve the worklist query as a DICOM file. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5268 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5269 * This function retrieves the DICOM file that underlies a C-Find |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5270 * SCP query against modality worklists. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5271 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5272 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5273 * @param target Memory buffer where to store the DICOM file. It must be freed with OrthancPluginFreeMemoryBuffer(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5274 * @param query The worklist query, as received by the callback. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5275 * @return 0 if success, other value if error. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5276 * @ingroup DicomCallbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5277 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5278 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginWorklistGetDicomQuery( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5279 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5280 OrthancPluginMemoryBuffer* target, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5281 const OrthancPluginWorklistQuery* query) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5282 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5283 _OrthancPluginWorklistQueryOperation params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5284 params.query = query; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5285 params.dicom = NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5286 params.size = 0; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5287 params.isMatch = NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5288 params.target = target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5289 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5290 return context->InvokeService(context, _OrthancPluginService_WorklistGetDicomQuery, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5291 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5292 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5293 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5294 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5295 * @brief Get the origin of a DICOM file. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5296 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5297 * This function returns the origin of a DICOM instance that has been received by Orthanc. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5298 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5299 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5300 * @param instance The instance of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5301 * @return The origin of the instance. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5302 * @ingroup DicomInstance |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5303 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5304 ORTHANC_PLUGIN_INLINE OrthancPluginInstanceOrigin OrthancPluginGetInstanceOrigin( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5305 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5306 const OrthancPluginDicomInstance* instance) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5307 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5308 OrthancPluginInstanceOrigin origin; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5309 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5310 _OrthancPluginAccessDicomInstance params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5311 memset(¶ms, 0, sizeof(params)); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5312 params.resultOrigin = &origin; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5313 params.instance = instance; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5314 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5315 if (context->InvokeService(context, _OrthancPluginService_GetInstanceOrigin, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5316 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5317 /* Error */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5318 return OrthancPluginInstanceOrigin_Unknown; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5319 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5320 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5321 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5322 return origin; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5323 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5324 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5325 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5326 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5327 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5328 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5329 OrthancPluginMemoryBuffer* target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5330 const char* json; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5331 const OrthancPluginImage* pixelData; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5332 OrthancPluginCreateDicomFlags flags; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5333 } _OrthancPluginCreateDicom; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5334 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5335 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5336 * @brief Create a DICOM instance from a JSON string and an image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5337 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5338 * This function takes as input a string containing a JSON file |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5339 * describing the content of a DICOM instance. As an output, it |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5340 * writes the corresponding DICOM instance to a newly allocated |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5341 * memory buffer. Additionally, an image to be encoded within the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5342 * DICOM instance can also be provided. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5343 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5344 * Private tags will be associated with the private creator whose |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5345 * value is specified in the "DefaultPrivateCreator" configuration |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5346 * option of Orthanc. The function OrthancPluginCreateDicom2() can |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5347 * be used if another private creator must be used to create this |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5348 * instance. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5349 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5350 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5351 * @param target The target memory buffer. It must be freed with OrthancPluginFreeMemoryBuffer(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5352 * @param json The input JSON file. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5353 * @param pixelData The image. Can be NULL, if the pixel data is encoded inside the JSON with the data URI scheme. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5354 * @param flags Flags governing the output. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5355 * @return 0 if success, other value if error. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5356 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5357 * @see OrthancPluginCreateDicom2 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5358 * @see OrthancPluginDicomBufferToJson |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5359 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5360 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginCreateDicom( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5361 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5362 OrthancPluginMemoryBuffer* target, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5363 const char* json, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5364 const OrthancPluginImage* pixelData, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5365 OrthancPluginCreateDicomFlags flags) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5366 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5367 _OrthancPluginCreateDicom params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5368 params.target = target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5369 params.json = json; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5370 params.pixelData = pixelData; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5371 params.flags = flags; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5372 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5373 return context->InvokeService(context, _OrthancPluginService_CreateDicom, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5374 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5375 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5376 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5377 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5378 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5379 OrthancPluginDecodeImageCallback callback; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5380 } _OrthancPluginDecodeImageCallback; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5381 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5382 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5383 * @brief Register a callback to handle the decoding of DICOM images. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5384 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5385 * This function registers a custom callback to decode DICOM images, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5386 * extending the built-in decoder of Orthanc that uses |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5387 * DCMTK. Starting with Orthanc 1.7.0, the exact behavior is |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5388 * affected by the configuration option |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5389 * "BuiltinDecoderTranscoderOrder" of Orthanc. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5390 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5391 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5392 * @param callback The callback. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5393 * @return 0 if success, other value if error. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5394 * @ingroup Callbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5395 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5396 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginRegisterDecodeImageCallback( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5397 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5398 OrthancPluginDecodeImageCallback callback) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5399 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5400 _OrthancPluginDecodeImageCallback params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5401 params.callback = callback; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5402 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5403 return context->InvokeService(context, _OrthancPluginService_RegisterDecodeImageCallback, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5404 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5405 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5406 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5407 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5408 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5409 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5410 OrthancPluginImage** target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5411 OrthancPluginPixelFormat format; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5412 uint32_t width; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5413 uint32_t height; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5414 uint32_t pitch; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5415 void* buffer; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5416 const void* constBuffer; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5417 uint32_t bufferSize; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5418 uint32_t frameIndex; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5419 } _OrthancPluginCreateImage; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5420 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5421 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5422 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5423 * @brief Create an image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5424 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5425 * This function creates an image of given size and format. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5426 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5427 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5428 * @param format The format of the pixels. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5429 * @param width The width of the image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5430 * @param height The height of the image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5431 * @return The newly allocated image. It must be freed with OrthancPluginFreeImage(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5432 * @ingroup Images |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5433 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5434 ORTHANC_PLUGIN_INLINE OrthancPluginImage* OrthancPluginCreateImage( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5435 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5436 OrthancPluginPixelFormat format, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5437 uint32_t width, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5438 uint32_t height) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5439 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5440 OrthancPluginImage* target = NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5441 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5442 _OrthancPluginCreateImage params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5443 memset(¶ms, 0, sizeof(params)); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5444 params.target = ⌖ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5445 params.format = format; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5446 params.width = width; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5447 params.height = height; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5448 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5449 if (context->InvokeService(context, _OrthancPluginService_CreateImage, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5450 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5451 return NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5452 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5453 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5454 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5455 return target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5456 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5457 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5458 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5459 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5460 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5461 * @brief Create an image pointing to a memory buffer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5462 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5463 * This function creates an image whose content points to a memory |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5464 * buffer managed by the plugin. Note that the buffer is directly |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5465 * accessed, no memory is allocated and no data is copied. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5466 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5467 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5468 * @param format The format of the pixels. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5469 * @param width The width of the image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5470 * @param height The height of the image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5471 * @param pitch The pitch of the image (i.e. the number of bytes |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5472 * between 2 successive lines of the image in the memory buffer). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5473 * @param buffer The memory buffer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5474 * @return The newly allocated image. It must be freed with OrthancPluginFreeImage(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5475 * @ingroup Images |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5476 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5477 ORTHANC_PLUGIN_INLINE OrthancPluginImage* OrthancPluginCreateImageAccessor( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5478 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5479 OrthancPluginPixelFormat format, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5480 uint32_t width, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5481 uint32_t height, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5482 uint32_t pitch, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5483 void* buffer) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5484 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5485 OrthancPluginImage* target = NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5486 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5487 _OrthancPluginCreateImage params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5488 memset(¶ms, 0, sizeof(params)); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5489 params.target = ⌖ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5490 params.format = format; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5491 params.width = width; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5492 params.height = height; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5493 params.pitch = pitch; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5494 params.buffer = buffer; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5495 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5496 if (context->InvokeService(context, _OrthancPluginService_CreateImageAccessor, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5497 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5498 return NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5499 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5500 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5501 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5502 return target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5503 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5504 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5505 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5506 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5507 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5508 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5509 * @brief Decode one frame from a DICOM instance. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5510 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5511 * This function decodes one frame of a DICOM image that is stored |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5512 * in a memory buffer. This function will give the same result as |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5513 * OrthancPluginUncompressImage() for single-frame DICOM images. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5514 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5515 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5516 * @param buffer Pointer to a memory buffer containing the DICOM image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5517 * @param bufferSize Size of the memory buffer containing the DICOM image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5518 * @param frameIndex The index of the frame of interest in a multi-frame image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5519 * @return The uncompressed image. It must be freed with OrthancPluginFreeImage(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5520 * @ingroup Images |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5521 * @see OrthancPluginGetInstanceDecodedFrame() |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5522 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5523 ORTHANC_PLUGIN_INLINE OrthancPluginImage* OrthancPluginDecodeDicomImage( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5524 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5525 const void* buffer, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5526 uint32_t bufferSize, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5527 uint32_t frameIndex) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5528 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5529 OrthancPluginImage* target = NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5530 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5531 _OrthancPluginCreateImage params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5532 memset(¶ms, 0, sizeof(params)); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5533 params.target = ⌖ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5534 params.constBuffer = buffer; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5535 params.bufferSize = bufferSize; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5536 params.frameIndex = frameIndex; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5537 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5538 if (context->InvokeService(context, _OrthancPluginService_DecodeDicomImage, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5539 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5540 return NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5541 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5542 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5543 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5544 return target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5545 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5546 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5547 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5548 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5549 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5550 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5551 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5552 char** result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5553 const void* buffer; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5554 uint32_t size; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5555 } _OrthancPluginComputeHash; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5556 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5557 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5558 * @brief Compute an MD5 hash. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5559 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5560 * This functions computes the MD5 cryptographic hash of the given memory buffer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5561 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5562 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5563 * @param buffer The source memory buffer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5564 * @param size The size in bytes of the source buffer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5565 * @return The NULL value in case of error, or a string containing the cryptographic hash. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5566 * This string must be freed by OrthancPluginFreeString(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5567 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5568 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5569 ORTHANC_PLUGIN_INLINE char* OrthancPluginComputeMd5( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5570 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5571 const void* buffer, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5572 uint32_t size) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5573 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5574 char* result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5575 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5576 _OrthancPluginComputeHash params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5577 params.result = &result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5578 params.buffer = buffer; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5579 params.size = size; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5580 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5581 if (context->InvokeService(context, _OrthancPluginService_ComputeMd5, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5582 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5583 /* Error */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5584 return NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5585 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5586 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5587 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5588 return result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5589 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5590 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5591 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5592 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5593 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5594 * @brief Compute a SHA-1 hash. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5595 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5596 * This functions computes the SHA-1 cryptographic hash of the given memory buffer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5597 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5598 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5599 * @param buffer The source memory buffer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5600 * @param size The size in bytes of the source buffer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5601 * @return The NULL value in case of error, or a string containing the cryptographic hash. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5602 * This string must be freed by OrthancPluginFreeString(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5603 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5604 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5605 ORTHANC_PLUGIN_INLINE char* OrthancPluginComputeSha1( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5606 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5607 const void* buffer, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5608 uint32_t size) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5609 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5610 char* result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5611 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5612 _OrthancPluginComputeHash params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5613 params.result = &result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5614 params.buffer = buffer; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5615 params.size = size; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5616 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5617 if (context->InvokeService(context, _OrthancPluginService_ComputeSha1, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5618 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5619 /* Error */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5620 return NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5621 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5622 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5623 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5624 return result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5625 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5626 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5627 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5628 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5629 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5630 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5631 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5632 OrthancPluginDictionaryEntry* target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5633 const char* name; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5634 } _OrthancPluginLookupDictionary; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5635 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5636 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5637 * @brief Get information about the given DICOM tag. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5638 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5639 * This functions makes a lookup in the dictionary of DICOM tags |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5640 * that are known to Orthanc, and returns information about this |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5641 * tag. The tag can be specified using its human-readable name |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5642 * (e.g. "PatientName") or a set of two hexadecimal numbers |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5643 * (e.g. "0010-0020"). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5644 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5645 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5646 * @param target Where to store the information about the tag. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5647 * @param name The name of the DICOM tag. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5648 * @return 0 if success, other value if error. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5649 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5650 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5651 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginLookupDictionary( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5652 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5653 OrthancPluginDictionaryEntry* target, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5654 const char* name) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5655 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5656 _OrthancPluginLookupDictionary params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5657 params.target = target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5658 params.name = name; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5659 return context->InvokeService(context, _OrthancPluginService_LookupDictionary, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5660 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5661 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5662 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5663 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5664 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5665 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5666 OrthancPluginRestOutput* output; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5667 const void* answer; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5668 uint32_t answerSize; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5669 uint32_t headersCount; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5670 const char* const* headersKeys; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5671 const char* const* headersValues; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5672 } _OrthancPluginSendMultipartItem2; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5673 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5674 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5675 * @brief Send an item as a part of some HTTP multipart answer, with custom headers. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5676 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5677 * This function sends an item as a part of some HTTP multipart |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5678 * answer that was initiated by OrthancPluginStartMultipartAnswer(). In addition to |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5679 * OrthancPluginSendMultipartItem(), this function will set HTTP header associated |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5680 * with the item. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5681 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5682 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5683 * @param output The HTTP connection to the client application. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5684 * @param answer Pointer to the memory buffer containing the item. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5685 * @param answerSize Number of bytes of the item. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5686 * @param headersCount The number of HTTP headers. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5687 * @param headersKeys Array containing the keys of the HTTP headers. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5688 * @param headersValues Array containing the values of the HTTP headers. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5689 * @return 0 if success, or the error code if failure (this notably happens |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5690 * if the connection is closed by the client). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5691 * @see OrthancPluginSendMultipartItem() |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5692 * @ingroup REST |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5693 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5694 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginSendMultipartItem2( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5695 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5696 OrthancPluginRestOutput* output, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5697 const void* answer, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5698 uint32_t answerSize, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5699 uint32_t headersCount, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5700 const char* const* headersKeys, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5701 const char* const* headersValues) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5702 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5703 _OrthancPluginSendMultipartItem2 params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5704 params.output = output; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5705 params.answer = answer; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5706 params.answerSize = answerSize; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5707 params.headersCount = headersCount; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5708 params.headersKeys = headersKeys; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5709 params.headersValues = headersValues; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5710 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5711 return context->InvokeService(context, _OrthancPluginService_SendMultipartItem2, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5712 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5713 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5714 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5715 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5716 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5717 OrthancPluginIncomingHttpRequestFilter callback; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5718 } _OrthancPluginIncomingHttpRequestFilter; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5719 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5720 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5721 * @brief Register a callback to filter incoming HTTP requests. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5722 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5723 * This function registers a custom callback to filter incoming HTTP/REST |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5724 * requests received by the HTTP server of Orthanc. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5725 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5726 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5727 * @param callback The callback. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5728 * @return 0 if success, other value if error. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5729 * @ingroup Callbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5730 * @deprecated Please instead use OrthancPluginRegisterIncomingHttpRequestFilter2() |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5731 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5732 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginRegisterIncomingHttpRequestFilter( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5733 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5734 OrthancPluginIncomingHttpRequestFilter callback) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5735 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5736 _OrthancPluginIncomingHttpRequestFilter params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5737 params.callback = callback; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5738 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5739 return context->InvokeService(context, _OrthancPluginService_RegisterIncomingHttpRequestFilter, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5740 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5741 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5742 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5743 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5744 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5745 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5746 OrthancPluginMemoryBuffer* answerBody; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5747 OrthancPluginMemoryBuffer* answerHeaders; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5748 uint16_t* httpStatus; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5749 OrthancPluginHttpMethod method; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5750 const char* url; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5751 uint32_t headersCount; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5752 const char* const* headersKeys; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5753 const char* const* headersValues; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5754 const void* body; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5755 uint32_t bodySize; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5756 const char* username; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5757 const char* password; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5758 uint32_t timeout; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5759 const char* certificateFile; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5760 const char* certificateKeyFile; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5761 const char* certificateKeyPassword; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5762 uint8_t pkcs11; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5763 } _OrthancPluginCallHttpClient2; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5764 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5765 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5766 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5767 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5768 * @brief Issue a HTTP call with full flexibility. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5769 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5770 * Make a HTTP call to the given URL. The result to the query is |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5771 * stored into a newly allocated memory buffer. The HTTP request |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5772 * will be done accordingly to the global configuration of Orthanc |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5773 * (in particular, the options "HttpProxy", "HttpTimeout", |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5774 * "HttpsVerifyPeers", "HttpsCACertificates", and "Pkcs11" will be |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5775 * taken into account). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5776 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5777 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5778 * @param answerBody The target memory buffer (out argument). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5779 * It must be freed with OrthancPluginFreeMemoryBuffer(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5780 * The value of this argument is ignored if the HTTP method is DELETE. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5781 * @param answerHeaders The target memory buffer for the HTTP headers in the answers (out argument). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5782 * The answer headers are formatted as a JSON object (associative array). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5783 * The buffer must be freed with OrthancPluginFreeMemoryBuffer(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5784 * This argument can be set to NULL if the plugin has no interest in the HTTP headers. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5785 * @param httpStatus The HTTP status after the execution of the request (out argument). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5786 * @param method HTTP method to be used. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5787 * @param url The URL of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5788 * @param headersCount The number of HTTP headers. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5789 * @param headersKeys Array containing the keys of the HTTP headers (can be <tt>NULL</tt> if no header). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5790 * @param headersValues Array containing the values of the HTTP headers (can be <tt>NULL</tt> if no header). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5791 * @param username The username (can be <tt>NULL</tt> if no password protection). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5792 * @param password The password (can be <tt>NULL</tt> if no password protection). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5793 * @param body The HTTP body for a POST or PUT request. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5794 * @param bodySize The size of the body. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5795 * @param timeout Timeout in seconds (0 for default timeout). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5796 * @param certificateFile Path to the client certificate for HTTPS, in PEM format |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5797 * (can be <tt>NULL</tt> if no client certificate or if not using HTTPS). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5798 * @param certificateKeyFile Path to the key of the client certificate for HTTPS, in PEM format |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5799 * (can be <tt>NULL</tt> if no client certificate or if not using HTTPS). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5800 * @param certificateKeyPassword Password to unlock the key of the client certificate |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5801 * (can be <tt>NULL</tt> if no client certificate or if not using HTTPS). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5802 * @param pkcs11 Enable PKCS#11 client authentication for hardware security modules and smart cards. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5803 * @return 0 if success, or the error code if failure. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5804 * @see OrthancPluginCallPeerApi() |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5805 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5806 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5807 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginHttpClient( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5808 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5809 OrthancPluginMemoryBuffer* answerBody, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5810 OrthancPluginMemoryBuffer* answerHeaders, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5811 uint16_t* httpStatus, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5812 OrthancPluginHttpMethod method, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5813 const char* url, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5814 uint32_t headersCount, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5815 const char* const* headersKeys, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5816 const char* const* headersValues, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5817 const void* body, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5818 uint32_t bodySize, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5819 const char* username, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5820 const char* password, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5821 uint32_t timeout, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5822 const char* certificateFile, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5823 const char* certificateKeyFile, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5824 const char* certificateKeyPassword, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5825 uint8_t pkcs11) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5826 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5827 _OrthancPluginCallHttpClient2 params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5828 memset(¶ms, 0, sizeof(params)); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5829 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5830 params.answerBody = answerBody; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5831 params.answerHeaders = answerHeaders; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5832 params.httpStatus = httpStatus; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5833 params.method = method; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5834 params.url = url; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5835 params.headersCount = headersCount; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5836 params.headersKeys = headersKeys; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5837 params.headersValues = headersValues; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5838 params.body = body; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5839 params.bodySize = bodySize; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5840 params.username = username; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5841 params.password = password; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5842 params.timeout = timeout; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5843 params.certificateFile = certificateFile; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5844 params.certificateKeyFile = certificateKeyFile; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5845 params.certificateKeyPassword = certificateKeyPassword; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5846 params.pkcs11 = pkcs11; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5847 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5848 return context->InvokeService(context, _OrthancPluginService_CallHttpClient2, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5849 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5850 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5851 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5852 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5853 * @brief Generate an UUID. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5854 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5855 * Generate a random GUID/UUID (globally unique identifier). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5856 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5857 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5858 * @return NULL in the case of an error, or a newly allocated string |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5859 * containing the UUID. This string must be freed by OrthancPluginFreeString(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5860 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5861 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5862 ORTHANC_PLUGIN_INLINE char* OrthancPluginGenerateUuid( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5863 OrthancPluginContext* context) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5864 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5865 char* result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5866 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5867 _OrthancPluginRetrieveDynamicString params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5868 params.result = &result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5869 params.argument = NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5870 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5871 if (context->InvokeService(context, _OrthancPluginService_GenerateUuid, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5872 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5873 /* Error */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5874 return NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5875 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5876 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5877 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5878 return result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5879 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5880 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5881 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5882 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5883 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5884 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5885 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5886 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5887 OrthancPluginFindCallback callback; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5888 } _OrthancPluginFindCallback; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5889 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5890 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5891 * @brief Register a callback to handle C-Find requests. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5892 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5893 * This function registers a callback to handle C-Find SCP requests |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5894 * that are not related to modality worklists. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5895 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5896 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5897 * @param callback The callback. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5898 * @return 0 if success, other value if error. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5899 * @ingroup DicomCallbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5900 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5901 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginRegisterFindCallback( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5902 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5903 OrthancPluginFindCallback callback) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5904 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5905 _OrthancPluginFindCallback params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5906 params.callback = callback; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5907 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5908 return context->InvokeService(context, _OrthancPluginService_RegisterFindCallback, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5909 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5910 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5911 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5912 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5913 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5914 OrthancPluginFindAnswers *answers; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5915 const OrthancPluginFindQuery *query; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5916 const void *dicom; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5917 uint32_t size; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5918 uint32_t index; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5919 uint32_t *resultUint32; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5920 uint16_t *resultGroup; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5921 uint16_t *resultElement; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5922 char **resultString; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5923 } _OrthancPluginFindOperation; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5924 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5925 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5926 * @brief Add one answer to some C-Find request. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5927 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5928 * This function adds one answer (encoded as a DICOM file) to the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5929 * set of answers corresponding to some C-Find SCP request that is |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5930 * not related to modality worklists. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5931 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5932 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5933 * @param answers The set of answers. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5934 * @param dicom The answer to be added, encoded as a DICOM file. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5935 * @param size The size of the DICOM file. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5936 * @return 0 if success, other value if error. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5937 * @ingroup DicomCallbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5938 * @see OrthancPluginCreateDicom() |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5939 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5940 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginFindAddAnswer( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5941 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5942 OrthancPluginFindAnswers* answers, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5943 const void* dicom, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5944 uint32_t size) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5945 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5946 _OrthancPluginFindOperation params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5947 memset(¶ms, 0, sizeof(params)); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5948 params.answers = answers; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5949 params.dicom = dicom; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5950 params.size = size; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5951 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5952 return context->InvokeService(context, _OrthancPluginService_FindAddAnswer, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5953 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5954 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5955 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5956 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5957 * @brief Mark the set of C-Find answers as incomplete. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5958 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5959 * This function marks as incomplete the set of answers |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5960 * corresponding to some C-Find SCP request that is not related to |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5961 * modality worklists. This must be used if canceling the handling |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5962 * of a request when too many answers are to be returned. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5963 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5964 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5965 * @param answers The set of answers. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5966 * @return 0 if success, other value if error. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5967 * @ingroup DicomCallbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5968 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5969 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginFindMarkIncomplete( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5970 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5971 OrthancPluginFindAnswers* answers) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5972 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5973 _OrthancPluginFindOperation params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5974 memset(¶ms, 0, sizeof(params)); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5975 params.answers = answers; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5976 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5977 return context->InvokeService(context, _OrthancPluginService_FindMarkIncomplete, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5978 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5979 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5980 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5981 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5982 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5983 * @brief Get the number of tags in a C-Find query. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5984 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5985 * This function returns the number of tags that are contained in |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5986 * the given C-Find query. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5987 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5988 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5989 * @param query The C-Find query. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5990 * @return The number of tags. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5991 * @ingroup DicomCallbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5992 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5993 ORTHANC_PLUGIN_INLINE uint32_t OrthancPluginGetFindQuerySize( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5994 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5995 const OrthancPluginFindQuery* query) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5996 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5997 uint32_t count = 0; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5998 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5999 _OrthancPluginFindOperation params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6000 memset(¶ms, 0, sizeof(params)); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6001 params.query = query; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6002 params.resultUint32 = &count; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6003 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6004 if (context->InvokeService(context, _OrthancPluginService_GetFindQuerySize, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6005 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6006 /* Error */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6007 return 0; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6008 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6009 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6010 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6011 return count; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6012 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6013 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6014 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6015 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6016 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6017 * @brief Get one tag in a C-Find query. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6018 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6019 * This function returns the group and the element of one DICOM tag |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6020 * in the given C-Find query. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6021 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6022 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6023 * @param group The group of the tag (output). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6024 * @param element The element of the tag (output). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6025 * @param query The C-Find query. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6026 * @param index The index of the tag of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6027 * @return 0 if success, other value if error. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6028 * @ingroup DicomCallbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6029 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6030 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginGetFindQueryTag( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6031 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6032 uint16_t* group, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6033 uint16_t* element, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6034 const OrthancPluginFindQuery* query, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6035 uint32_t index) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6036 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6037 _OrthancPluginFindOperation params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6038 memset(¶ms, 0, sizeof(params)); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6039 params.query = query; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6040 params.index = index; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6041 params.resultGroup = group; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6042 params.resultElement = element; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6043 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6044 return context->InvokeService(context, _OrthancPluginService_GetFindQueryTag, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6045 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6046 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6047 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6048 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6049 * @brief Get the symbolic name of one tag in a C-Find query. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6050 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6051 * This function returns the symbolic name of one DICOM tag in the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6052 * given C-Find query. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6053 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6054 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6055 * @param query The C-Find query. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6056 * @param index The index of the tag of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6057 * @return The NULL value in case of error, or a string containing the name of the tag. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6058 * @return 0 if success, other value if error. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6059 * @ingroup DicomCallbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6060 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6061 ORTHANC_PLUGIN_INLINE char* OrthancPluginGetFindQueryTagName( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6062 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6063 const OrthancPluginFindQuery* query, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6064 uint32_t index) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6065 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6066 char* result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6067 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6068 _OrthancPluginFindOperation params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6069 memset(¶ms, 0, sizeof(params)); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6070 params.query = query; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6071 params.index = index; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6072 params.resultString = &result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6073 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6074 if (context->InvokeService(context, _OrthancPluginService_GetFindQueryTagName, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6075 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6076 /* Error */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6077 return NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6078 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6079 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6080 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6081 return result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6082 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6083 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6084 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6085 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6086 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6087 * @brief Get the value associated with one tag in a C-Find query. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6088 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6089 * This function returns the value associated with one tag in the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6090 * given C-Find query. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6091 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6092 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6093 * @param query The C-Find query. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6094 * @param index The index of the tag of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6095 * @return The NULL value in case of error, or a string containing the value of the tag. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6096 * @return 0 if success, other value if error. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6097 * @ingroup DicomCallbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6098 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6099 ORTHANC_PLUGIN_INLINE char* OrthancPluginGetFindQueryValue( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6100 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6101 const OrthancPluginFindQuery* query, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6102 uint32_t index) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6103 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6104 char* result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6105 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6106 _OrthancPluginFindOperation params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6107 memset(¶ms, 0, sizeof(params)); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6108 params.query = query; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6109 params.index = index; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6110 params.resultString = &result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6111 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6112 if (context->InvokeService(context, _OrthancPluginService_GetFindQueryValue, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6113 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6114 /* Error */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6115 return NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6116 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6117 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6118 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6119 return result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6120 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6121 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6122 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6123 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6124 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6125 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6126 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6127 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6128 OrthancPluginMoveCallback callback; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6129 OrthancPluginGetMoveSize getMoveSize; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6130 OrthancPluginApplyMove applyMove; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6131 OrthancPluginFreeMove freeMove; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6132 } _OrthancPluginMoveCallback; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6133 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6134 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6135 * @brief Register a callback to handle C-Move requests. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6136 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6137 * This function registers a callback to handle C-Move SCP requests. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6138 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6139 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6140 * @param callback The main callback. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6141 * @param getMoveSize Callback to read the number of C-Move suboperations. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6142 * @param applyMove Callback to apply one C-Move suboperation. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6143 * @param freeMove Callback to free the C-Move driver. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6144 * @return 0 if success, other value if error. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6145 * @ingroup DicomCallbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6146 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6147 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginRegisterMoveCallback( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6148 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6149 OrthancPluginMoveCallback callback, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6150 OrthancPluginGetMoveSize getMoveSize, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6151 OrthancPluginApplyMove applyMove, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6152 OrthancPluginFreeMove freeMove) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6153 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6154 _OrthancPluginMoveCallback params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6155 params.callback = callback; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6156 params.getMoveSize = getMoveSize; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6157 params.applyMove = applyMove; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6158 params.freeMove = freeMove; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6159 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6160 return context->InvokeService(context, _OrthancPluginService_RegisterMoveCallback, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6161 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6162 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6163 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6164 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6165 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6166 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6167 OrthancPluginFindMatcher** target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6168 const void* query; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6169 uint32_t size; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6170 } _OrthancPluginCreateFindMatcher; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6171 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6172 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6173 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6174 * @brief Create a C-Find matcher. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6175 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6176 * This function creates a "matcher" object that can be used to |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6177 * check whether a DICOM instance matches a C-Find query. The C-Find |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6178 * query must be expressed as a DICOM buffer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6179 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6180 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6181 * @param query The C-Find DICOM query. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6182 * @param size The size of the DICOM query. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6183 * @return The newly allocated matcher. It must be freed with OrthancPluginFreeFindMatcher(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6184 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6185 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6186 ORTHANC_PLUGIN_INLINE OrthancPluginFindMatcher* OrthancPluginCreateFindMatcher( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6187 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6188 const void* query, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6189 uint32_t size) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6190 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6191 OrthancPluginFindMatcher* target = NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6192 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6193 _OrthancPluginCreateFindMatcher params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6194 memset(¶ms, 0, sizeof(params)); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6195 params.target = ⌖ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6196 params.query = query; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6197 params.size = size; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6198 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6199 if (context->InvokeService(context, _OrthancPluginService_CreateFindMatcher, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6200 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6201 return NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6202 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6203 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6204 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6205 return target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6206 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6207 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6208 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6209 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6210 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6211 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6212 OrthancPluginFindMatcher* matcher; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6213 } _OrthancPluginFreeFindMatcher; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6214 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6215 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6216 * @brief Free a C-Find matcher. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6217 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6218 * This function frees a matcher that was created using OrthancPluginCreateFindMatcher(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6219 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6220 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6221 * @param matcher The matcher of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6222 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6223 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6224 ORTHANC_PLUGIN_INLINE void OrthancPluginFreeFindMatcher( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6225 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6226 OrthancPluginFindMatcher* matcher) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6227 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6228 _OrthancPluginFreeFindMatcher params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6229 params.matcher = matcher; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6230 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6231 context->InvokeService(context, _OrthancPluginService_FreeFindMatcher, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6232 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6233 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6234 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6235 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6236 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6237 const OrthancPluginFindMatcher* matcher; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6238 const void* dicom; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6239 uint32_t size; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6240 int32_t* isMatch; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6241 } _OrthancPluginFindMatcherIsMatch; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6242 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6243 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6244 * @brief Test whether a DICOM instance matches a C-Find query. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6245 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6246 * This function checks whether one DICOM instance matches C-Find |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6247 * matcher that was previously allocated using |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6248 * OrthancPluginCreateFindMatcher(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6249 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6250 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6251 * @param matcher The matcher of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6252 * @param dicom The DICOM instance to be matched. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6253 * @param size The size of the DICOM instance. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6254 * @return 1 if the DICOM instance matches the query, 0 otherwise. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6255 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6256 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6257 ORTHANC_PLUGIN_INLINE int32_t OrthancPluginFindMatcherIsMatch( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6258 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6259 const OrthancPluginFindMatcher* matcher, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6260 const void* dicom, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6261 uint32_t size) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6262 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6263 int32_t isMatch = 0; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6264 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6265 _OrthancPluginFindMatcherIsMatch params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6266 params.matcher = matcher; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6267 params.dicom = dicom; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6268 params.size = size; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6269 params.isMatch = &isMatch; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6270 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6271 if (context->InvokeService(context, _OrthancPluginService_FindMatcherIsMatch, ¶ms) == OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6272 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6273 return isMatch; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6274 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6275 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6276 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6277 /* Error: Assume non-match */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6278 return 0; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6279 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6280 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6281 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6282 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6283 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6284 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6285 OrthancPluginIncomingHttpRequestFilter2 callback; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6286 } _OrthancPluginIncomingHttpRequestFilter2; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6287 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6288 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6289 * @brief Register a callback to filter incoming HTTP requests. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6290 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6291 * This function registers a custom callback to filter incoming HTTP/REST |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6292 * requests received by the HTTP server of Orthanc. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6293 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6294 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6295 * @param callback The callback. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6296 * @return 0 if success, other value if error. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6297 * @ingroup Callbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6298 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6299 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginRegisterIncomingHttpRequestFilter2( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6300 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6301 OrthancPluginIncomingHttpRequestFilter2 callback) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6302 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6303 _OrthancPluginIncomingHttpRequestFilter2 params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6304 params.callback = callback; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6305 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6306 return context->InvokeService(context, _OrthancPluginService_RegisterIncomingHttpRequestFilter2, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6307 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6308 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6309 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6310 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6311 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6312 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6313 OrthancPluginPeers** peers; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6314 } _OrthancPluginGetPeers; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6315 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6316 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6317 * @brief Return the list of available Orthanc peers. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6318 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6319 * This function returns the parameters of the Orthanc peers that are known to |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6320 * the Orthanc server hosting the plugin. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6321 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6322 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6323 * @return NULL if error, or a newly allocated opaque data structure containing the peers. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6324 * This structure must be freed with OrthancPluginFreePeers(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6325 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6326 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6327 ORTHANC_PLUGIN_INLINE OrthancPluginPeers* OrthancPluginGetPeers( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6328 OrthancPluginContext* context) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6329 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6330 OrthancPluginPeers* peers = NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6331 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6332 _OrthancPluginGetPeers params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6333 memset(¶ms, 0, sizeof(params)); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6334 params.peers = &peers; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6335 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6336 if (context->InvokeService(context, _OrthancPluginService_GetPeers, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6337 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6338 return NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6339 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6340 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6341 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6342 return peers; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6343 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6344 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6345 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6346 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6347 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6348 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6349 OrthancPluginPeers* peers; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6350 } _OrthancPluginFreePeers; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6351 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6352 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6353 * @brief Free the list of available Orthanc peers. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6354 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6355 * This function frees the data structure returned by OrthancPluginGetPeers(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6356 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6357 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6358 * @param peers The data structure describing the Orthanc peers. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6359 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6360 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6361 ORTHANC_PLUGIN_INLINE void OrthancPluginFreePeers( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6362 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6363 OrthancPluginPeers* peers) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6364 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6365 _OrthancPluginFreePeers params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6366 params.peers = peers; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6367 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6368 context->InvokeService(context, _OrthancPluginService_FreePeers, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6369 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6370 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6371 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6372 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6373 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6374 uint32_t* target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6375 const OrthancPluginPeers* peers; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6376 } _OrthancPluginGetPeersCount; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6377 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6378 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6379 * @brief Get the number of Orthanc peers. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6380 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6381 * This function returns the number of Orthanc peers. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6382 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6383 * This function is thread-safe: Several threads sharing the same |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6384 * OrthancPluginPeers object can simultaneously call this function. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6385 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6386 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6387 * @param peers The data structure describing the Orthanc peers. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6388 * @result The number of peers. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6389 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6390 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6391 ORTHANC_PLUGIN_INLINE uint32_t OrthancPluginGetPeersCount( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6392 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6393 const OrthancPluginPeers* peers) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6394 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6395 uint32_t target = 0; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6396 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6397 _OrthancPluginGetPeersCount params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6398 memset(¶ms, 0, sizeof(params)); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6399 params.target = ⌖ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6400 params.peers = peers; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6401 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6402 if (context->InvokeService(context, _OrthancPluginService_GetPeersCount, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6403 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6404 /* Error */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6405 return 0; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6406 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6407 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6408 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6409 return target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6410 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6411 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6412 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6413 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6414 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6415 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6416 const char** target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6417 const OrthancPluginPeers* peers; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6418 uint32_t peerIndex; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6419 const char* userProperty; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6420 } _OrthancPluginGetPeerProperty; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6421 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6422 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6423 * @brief Get the symbolic name of an Orthanc peer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6424 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6425 * This function returns the symbolic name of the Orthanc peer, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6426 * which corresponds to the key of the "OrthancPeers" configuration |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6427 * option of Orthanc. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6428 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6429 * This function is thread-safe: Several threads sharing the same |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6430 * OrthancPluginPeers object can simultaneously call this function. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6431 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6432 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6433 * @param peers The data structure describing the Orthanc peers. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6434 * @param peerIndex The index of the peer of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6435 * This value must be lower than OrthancPluginGetPeersCount(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6436 * @result The symbolic name, or NULL in the case of an error. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6437 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6438 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6439 ORTHANC_PLUGIN_INLINE const char* OrthancPluginGetPeerName( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6440 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6441 const OrthancPluginPeers* peers, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6442 uint32_t peerIndex) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6443 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6444 const char* target = NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6445 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6446 _OrthancPluginGetPeerProperty params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6447 memset(¶ms, 0, sizeof(params)); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6448 params.target = ⌖ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6449 params.peers = peers; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6450 params.peerIndex = peerIndex; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6451 params.userProperty = NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6452 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6453 if (context->InvokeService(context, _OrthancPluginService_GetPeerName, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6454 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6455 /* Error */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6456 return NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6457 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6458 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6459 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6460 return target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6461 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6462 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6463 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6464 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6465 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6466 * @brief Get the base URL of an Orthanc peer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6467 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6468 * This function returns the base URL to the REST API of some Orthanc peer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6469 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6470 * This function is thread-safe: Several threads sharing the same |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6471 * OrthancPluginPeers object can simultaneously call this function. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6472 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6473 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6474 * @param peers The data structure describing the Orthanc peers. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6475 * @param peerIndex The index of the peer of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6476 * This value must be lower than OrthancPluginGetPeersCount(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6477 * @result The URL, or NULL in the case of an error. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6478 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6479 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6480 ORTHANC_PLUGIN_INLINE const char* OrthancPluginGetPeerUrl( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6481 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6482 const OrthancPluginPeers* peers, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6483 uint32_t peerIndex) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6484 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6485 const char* target = NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6486 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6487 _OrthancPluginGetPeerProperty params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6488 memset(¶ms, 0, sizeof(params)); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6489 params.target = ⌖ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6490 params.peers = peers; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6491 params.peerIndex = peerIndex; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6492 params.userProperty = NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6493 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6494 if (context->InvokeService(context, _OrthancPluginService_GetPeerUrl, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6495 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6496 /* Error */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6497 return NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6498 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6499 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6500 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6501 return target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6502 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6503 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6504 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6505 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6506 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6507 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6508 * @brief Get some user-defined property of an Orthanc peer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6509 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6510 * This function returns some user-defined property of some Orthanc |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6511 * peer. An user-defined property is a property that is associated |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6512 * with the peer in the Orthanc configuration file, but that is not |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6513 * recognized by the Orthanc core. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6514 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6515 * This function is thread-safe: Several threads sharing the same |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6516 * OrthancPluginPeers object can simultaneously call this function. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6517 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6518 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6519 * @param peers The data structure describing the Orthanc peers. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6520 * @param peerIndex The index of the peer of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6521 * This value must be lower than OrthancPluginGetPeersCount(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6522 * @param userProperty The user property of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6523 * @result The value of the user property, or NULL if it is not defined. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6524 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6525 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6526 ORTHANC_PLUGIN_INLINE const char* OrthancPluginGetPeerUserProperty( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6527 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6528 const OrthancPluginPeers* peers, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6529 uint32_t peerIndex, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6530 const char* userProperty) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6531 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6532 const char* target = NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6533 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6534 _OrthancPluginGetPeerProperty params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6535 memset(¶ms, 0, sizeof(params)); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6536 params.target = ⌖ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6537 params.peers = peers; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6538 params.peerIndex = peerIndex; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6539 params.userProperty = userProperty; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6540 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6541 if (context->InvokeService(context, _OrthancPluginService_GetPeerUserProperty, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6542 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6543 /* No such user property */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6544 return NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6545 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6546 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6547 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6548 return target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6549 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6550 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6551 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6552 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6553 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6554 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6555 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6556 OrthancPluginMemoryBuffer* answerBody; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6557 OrthancPluginMemoryBuffer* answerHeaders; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6558 uint16_t* httpStatus; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6559 const OrthancPluginPeers* peers; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6560 uint32_t peerIndex; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6561 OrthancPluginHttpMethod method; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6562 const char* uri; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6563 uint32_t additionalHeadersCount; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6564 const char* const* additionalHeadersKeys; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6565 const char* const* additionalHeadersValues; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6566 const void* body; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6567 uint32_t bodySize; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6568 uint32_t timeout; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6569 } _OrthancPluginCallPeerApi; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6570 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6571 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6572 * @brief Call the REST API of an Orthanc peer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6573 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6574 * Make a REST call to the given URI in the REST API of a remote |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6575 * Orthanc peer. The result to the query is stored into a newly |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6576 * allocated memory buffer. The HTTP request will be done according |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6577 * to the "OrthancPeers" configuration option of Orthanc. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6578 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6579 * This function is thread-safe: Several threads sharing the same |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6580 * OrthancPluginPeers object can simultaneously call this function. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6581 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6582 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6583 * @param answerBody The target memory buffer (out argument). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6584 * It must be freed with OrthancPluginFreeMemoryBuffer(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6585 * The value of this argument is ignored if the HTTP method is DELETE. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6586 * @param answerHeaders The target memory buffer for the HTTP headers in the answers (out argument). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6587 * The answer headers are formatted as a JSON object (associative array). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6588 * The buffer must be freed with OrthancPluginFreeMemoryBuffer(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6589 * This argument can be set to NULL if the plugin has no interest in the HTTP headers. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6590 * @param httpStatus The HTTP status after the execution of the request (out argument). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6591 * @param peers The data structure describing the Orthanc peers. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6592 * @param peerIndex The index of the peer of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6593 * This value must be lower than OrthancPluginGetPeersCount(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6594 * @param method HTTP method to be used. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6595 * @param uri The URI of interest in the REST API. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6596 * @param additionalHeadersCount The number of HTTP headers to be added to the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6597 * HTTP headers provided in the global configuration of Orthanc. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6598 * @param additionalHeadersKeys Array containing the keys of the HTTP headers (can be <tt>NULL</tt> if no header). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6599 * @param additionalHeadersValues Array containing the values of the HTTP headers (can be <tt>NULL</tt> if no header). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6600 * @param body The HTTP body for a POST or PUT request. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6601 * @param bodySize The size of the body. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6602 * @param timeout Timeout in seconds (0 for default timeout). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6603 * @return 0 if success, or the error code if failure. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6604 * @see OrthancPluginHttpClient() |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6605 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6606 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6607 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginCallPeerApi( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6608 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6609 OrthancPluginMemoryBuffer* answerBody, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6610 OrthancPluginMemoryBuffer* answerHeaders, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6611 uint16_t* httpStatus, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6612 const OrthancPluginPeers* peers, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6613 uint32_t peerIndex, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6614 OrthancPluginHttpMethod method, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6615 const char* uri, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6616 uint32_t additionalHeadersCount, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6617 const char* const* additionalHeadersKeys, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6618 const char* const* additionalHeadersValues, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6619 const void* body, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6620 uint32_t bodySize, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6621 uint32_t timeout) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6622 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6623 _OrthancPluginCallPeerApi params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6624 memset(¶ms, 0, sizeof(params)); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6625 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6626 params.answerBody = answerBody; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6627 params.answerHeaders = answerHeaders; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6628 params.httpStatus = httpStatus; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6629 params.peers = peers; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6630 params.peerIndex = peerIndex; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6631 params.method = method; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6632 params.uri = uri; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6633 params.additionalHeadersCount = additionalHeadersCount; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6634 params.additionalHeadersKeys = additionalHeadersKeys; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6635 params.additionalHeadersValues = additionalHeadersValues; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6636 params.body = body; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6637 params.bodySize = bodySize; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6638 params.timeout = timeout; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6639 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6640 return context->InvokeService(context, _OrthancPluginService_CallPeerApi, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6641 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6642 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6643 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6644 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6645 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6646 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6647 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6648 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6649 OrthancPluginJob** target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6650 void *job; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6651 OrthancPluginJobFinalize finalize; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6652 const char *type; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6653 OrthancPluginJobGetProgress getProgress; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6654 OrthancPluginJobGetContent getContent; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6655 OrthancPluginJobGetSerialized getSerialized; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6656 OrthancPluginJobStep step; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6657 OrthancPluginJobStop stop; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6658 OrthancPluginJobReset reset; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6659 } _OrthancPluginCreateJob; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6660 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6661 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6662 * @brief Create a custom job. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6663 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6664 * This function creates a custom job to be run by the jobs engine |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6665 * of Orthanc. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6666 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6667 * Orthanc starts one dedicated thread per custom job that is |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6668 * running. It is guaranteed that all the callbacks will only be |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6669 * called from this single dedicated thread, in mutual exclusion: As |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6670 * a consequence, it is *not* mandatory to protect the various |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6671 * callbacks by mutexes. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6672 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6673 * The custom job can nonetheless launch its own processing threads |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6674 * on the first call to the "step()" callback, and stop them once |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6675 * the "stop()" callback is called. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6676 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6677 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6678 * @param job The job to be executed. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6679 * @param finalize The finalization callback. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6680 * @param type The type of the job, provided to the job unserializer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6681 * See OrthancPluginRegisterJobsUnserializer(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6682 * @param getProgress The progress callback. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6683 * @param getContent The content callback. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6684 * @param getSerialized The serialization callback. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6685 * @param step The callback to execute the individual steps of the job. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6686 * @param stop The callback that is invoked once the job leaves the "running" state. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6687 * @param reset The callback that is invoked if a stopped job is started again. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6688 * @return The newly allocated job. It must be freed with OrthancPluginFreeJob(), |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6689 * as long as it is not submitted with OrthancPluginSubmitJob(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6690 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6691 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6692 ORTHANC_PLUGIN_INLINE OrthancPluginJob *OrthancPluginCreateJob( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6693 OrthancPluginContext *context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6694 void *job, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6695 OrthancPluginJobFinalize finalize, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6696 const char *type, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6697 OrthancPluginJobGetProgress getProgress, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6698 OrthancPluginJobGetContent getContent, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6699 OrthancPluginJobGetSerialized getSerialized, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6700 OrthancPluginJobStep step, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6701 OrthancPluginJobStop stop, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6702 OrthancPluginJobReset reset) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6703 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6704 OrthancPluginJob* target = NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6705 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6706 _OrthancPluginCreateJob params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6707 memset(¶ms, 0, sizeof(params)); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6708 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6709 params.target = ⌖ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6710 params.job = job; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6711 params.finalize = finalize; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6712 params.type = type; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6713 params.getProgress = getProgress; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6714 params.getContent = getContent; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6715 params.getSerialized = getSerialized; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6716 params.step = step; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6717 params.stop = stop; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6718 params.reset = reset; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6719 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6720 if (context->InvokeService(context, _OrthancPluginService_CreateJob, ¶ms) != OrthancPluginErrorCode_Success || |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6721 target == NULL) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6722 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6723 /* Error */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6724 return NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6725 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6726 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6727 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6728 return target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6729 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6730 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6731 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6732 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6733 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6734 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6735 OrthancPluginJob* job; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6736 } _OrthancPluginFreeJob; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6737 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6738 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6739 * @brief Free a custom job. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6740 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6741 * This function frees an image that was created with OrthancPluginCreateJob(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6742 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6743 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6744 * @param job The job. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6745 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6746 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6747 ORTHANC_PLUGIN_INLINE void OrthancPluginFreeJob( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6748 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6749 OrthancPluginJob* job) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6750 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6751 _OrthancPluginFreeJob params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6752 params.job = job; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6753 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6754 context->InvokeService(context, _OrthancPluginService_FreeJob, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6755 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6756 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6757 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6758 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6759 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6760 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6761 char** resultId; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6762 OrthancPluginJob *job; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6763 int priority; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6764 } _OrthancPluginSubmitJob; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6765 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6766 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6767 * @brief Submit a new job to the jobs engine of Orthanc. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6768 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6769 * This function adds the given job to the pending jobs of |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6770 * Orthanc. Orthanc will take take of freeing it by invoking the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6771 * finalization callback provided to OrthancPluginCreateJob(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6772 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6773 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6774 * @param job The job, as received by OrthancPluginCreateJob(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6775 * @param priority The priority of the job. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6776 * @return ID of the newly-submitted job. This string must be freed by OrthancPluginFreeString(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6777 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6778 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6779 ORTHANC_PLUGIN_INLINE char *OrthancPluginSubmitJob( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6780 OrthancPluginContext *context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6781 OrthancPluginJob *job, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6782 int priority) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6783 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6784 char* resultId = NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6785 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6786 _OrthancPluginSubmitJob params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6787 memset(¶ms, 0, sizeof(params)); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6788 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6789 params.resultId = &resultId; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6790 params.job = job; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6791 params.priority = priority; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6792 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6793 if (context->InvokeService(context, _OrthancPluginService_SubmitJob, ¶ms) != OrthancPluginErrorCode_Success || |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6794 resultId == NULL) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6795 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6796 /* Error */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6797 return NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6798 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6799 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6800 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6801 return resultId; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6802 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6803 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6804 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6805 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6806 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6807 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6808 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6809 OrthancPluginJobsUnserializer unserializer; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6810 } _OrthancPluginJobsUnserializer; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6811 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6812 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6813 * @brief Register an unserializer for custom jobs. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6814 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6815 * This function registers an unserializer that decodes custom jobs |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6816 * from a JSON string. This callback is invoked when the jobs engine |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6817 * of Orthanc is started (on Orthanc initialization), for each job |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6818 * that is stored in the Orthanc database. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6819 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6820 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6821 * @param unserializer The job unserializer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6822 * @ingroup Callbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6823 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6824 ORTHANC_PLUGIN_INLINE void OrthancPluginRegisterJobsUnserializer( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6825 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6826 OrthancPluginJobsUnserializer unserializer) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6827 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6828 _OrthancPluginJobsUnserializer params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6829 params.unserializer = unserializer; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6830 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6831 context->InvokeService(context, _OrthancPluginService_RegisterJobsUnserializer, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6832 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6833 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6834 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6835 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6836 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6837 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6838 OrthancPluginRestOutput* output; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6839 const char* details; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6840 uint8_t log; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6841 } _OrthancPluginSetHttpErrorDetails; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6842 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6843 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6844 * @brief Provide a detailed description for an HTTP error. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6845 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6846 * This function sets the detailed description associated with an |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6847 * HTTP error. This description will be displayed in the "Details" |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6848 * field of the JSON body of the HTTP answer. It is only taken into |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6849 * consideration if the REST callback returns an error code that is |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6850 * different from "OrthancPluginErrorCode_Success", and if the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6851 * "HttpDescribeErrors" configuration option of Orthanc is set to |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6852 * "true". |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6853 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6854 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6855 * @param output The HTTP connection to the client application. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6856 * @param details The details of the error message. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6857 * @param log Whether to also write the detailed error to the Orthanc logs. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6858 * @ingroup REST |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6859 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6860 ORTHANC_PLUGIN_INLINE void OrthancPluginSetHttpErrorDetails( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6861 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6862 OrthancPluginRestOutput* output, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6863 const char* details, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6864 uint8_t log) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6865 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6866 _OrthancPluginSetHttpErrorDetails params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6867 params.output = output; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6868 params.details = details; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6869 params.log = log; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6870 context->InvokeService(context, _OrthancPluginService_SetHttpErrorDetails, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6871 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6872 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6873 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6874 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6875 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6876 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6877 const char** result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6878 const char* argument; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6879 } _OrthancPluginRetrieveStaticString; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6880 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6881 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6882 * @brief Detect the MIME type of a file. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6883 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6884 * This function returns the MIME type of a file by inspecting its extension. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6885 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6886 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6887 * @param path Path to the file. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6888 * @return The MIME type. This is a statically-allocated |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6889 * string, do not free it. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6890 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6891 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6892 ORTHANC_PLUGIN_INLINE const char* OrthancPluginAutodetectMimeType( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6893 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6894 const char* path) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6895 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6896 const char* result = NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6897 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6898 _OrthancPluginRetrieveStaticString params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6899 params.result = &result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6900 params.argument = path; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6901 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6902 if (context->InvokeService(context, _OrthancPluginService_AutodetectMimeType, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6903 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6904 /* Error */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6905 return NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6906 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6907 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6908 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6909 return result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6910 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6911 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6912 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6913 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6914 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6915 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6916 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6917 const char* name; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6918 float value; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6919 OrthancPluginMetricsType type; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6920 } _OrthancPluginSetMetricsValue; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6921 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6922 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6923 * @brief Set the value of a metrics. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6924 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6925 * This function sets the value of a metrics to monitor the behavior |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6926 * of the plugin through tools such as Prometheus. The values of all |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6927 * the metrics are stored within the Orthanc context. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6928 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6929 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6930 * @param name The name of the metrics to be set. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6931 * @param value The value of the metrics. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6932 * @param type The type of the metrics. This parameter is only taken into consideration |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6933 * the first time this metrics is set. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6934 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6935 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6936 ORTHANC_PLUGIN_INLINE void OrthancPluginSetMetricsValue( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6937 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6938 const char* name, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6939 float value, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6940 OrthancPluginMetricsType type) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6941 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6942 _OrthancPluginSetMetricsValue params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6943 params.name = name; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6944 params.value = value; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6945 params.type = type; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6946 context->InvokeService(context, _OrthancPluginService_SetMetricsValue, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6947 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6948 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6949 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6950 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6951 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6952 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6953 OrthancPluginRefreshMetricsCallback callback; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6954 } _OrthancPluginRegisterRefreshMetricsCallback; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6955 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6956 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6957 * @brief Register a callback to refresh the metrics. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6958 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6959 * This function registers a callback to refresh the metrics. The |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6960 * callback must make calls to OrthancPluginSetMetricsValue(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6961 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6962 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6963 * @param callback The callback function to handle the refresh. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6964 * @ingroup Callbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6965 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6966 ORTHANC_PLUGIN_INLINE void OrthancPluginRegisterRefreshMetricsCallback( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6967 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6968 OrthancPluginRefreshMetricsCallback callback) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6969 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6970 _OrthancPluginRegisterRefreshMetricsCallback params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6971 params.callback = callback; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6972 context->InvokeService(context, _OrthancPluginService_RegisterRefreshMetricsCallback, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6973 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6974 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6975 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6976 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6977 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6978 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6979 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6980 char** target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6981 const void* dicom; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6982 uint32_t dicomSize; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6983 OrthancPluginDicomWebBinaryCallback callback; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6984 } _OrthancPluginEncodeDicomWeb; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6985 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6986 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6987 * @brief Convert a DICOM instance to DICOMweb JSON. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6988 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6989 * This function converts a memory buffer containing a DICOM instance, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6990 * into its DICOMweb JSON representation. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6991 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6992 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6993 * @param dicom Pointer to the DICOM instance. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6994 * @param dicomSize Size of the DICOM instance. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6995 * @param callback Callback to set the value of the binary tags. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6996 * @see OrthancPluginCreateDicom() |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6997 * @return The NULL value in case of error, or the JSON document. This string must |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6998 * be freed by OrthancPluginFreeString(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6999 * @deprecated OrthancPluginEncodeDicomWebJson2() |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7000 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7001 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7002 ORTHANC_PLUGIN_INLINE char* OrthancPluginEncodeDicomWebJson( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7003 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7004 const void* dicom, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7005 uint32_t dicomSize, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7006 OrthancPluginDicomWebBinaryCallback callback) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7007 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7008 char* target = NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7009 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7010 _OrthancPluginEncodeDicomWeb params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7011 params.target = ⌖ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7012 params.dicom = dicom; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7013 params.dicomSize = dicomSize; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7014 params.callback = callback; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7015 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7016 if (context->InvokeService(context, _OrthancPluginService_EncodeDicomWebJson, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7017 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7018 /* Error */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7019 return NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7020 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7021 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7022 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7023 return target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7024 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7025 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7026 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7027 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7028 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7029 * @brief Convert a DICOM instance to DICOMweb XML. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7030 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7031 * This function converts a memory buffer containing a DICOM instance, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7032 * into its DICOMweb XML representation. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7033 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7034 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7035 * @param dicom Pointer to the DICOM instance. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7036 * @param dicomSize Size of the DICOM instance. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7037 * @param callback Callback to set the value of the binary tags. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7038 * @return The NULL value in case of error, or the XML document. This string must |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7039 * be freed by OrthancPluginFreeString(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7040 * @see OrthancPluginCreateDicom() |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7041 * @deprecated OrthancPluginEncodeDicomWebXml2() |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7042 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7043 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7044 ORTHANC_PLUGIN_INLINE char* OrthancPluginEncodeDicomWebXml( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7045 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7046 const void* dicom, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7047 uint32_t dicomSize, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7048 OrthancPluginDicomWebBinaryCallback callback) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7049 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7050 char* target = NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7051 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7052 _OrthancPluginEncodeDicomWeb params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7053 params.target = ⌖ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7054 params.dicom = dicom; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7055 params.dicomSize = dicomSize; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7056 params.callback = callback; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7057 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7058 if (context->InvokeService(context, _OrthancPluginService_EncodeDicomWebXml, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7059 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7060 /* Error */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7061 return NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7062 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7063 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7064 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7065 return target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7066 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7067 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7068 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7069 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7070 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7071 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7072 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7073 char** target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7074 const void* dicom; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7075 uint32_t dicomSize; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7076 OrthancPluginDicomWebBinaryCallback2 callback; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7077 void* payload; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7078 } _OrthancPluginEncodeDicomWeb2; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7079 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7080 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7081 * @brief Convert a DICOM instance to DICOMweb JSON. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7082 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7083 * This function converts a memory buffer containing a DICOM instance, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7084 * into its DICOMweb JSON representation. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7085 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7086 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7087 * @param dicom Pointer to the DICOM instance. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7088 * @param dicomSize Size of the DICOM instance. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7089 * @param callback Callback to set the value of the binary tags. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7090 * @param payload User payload. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7091 * @return The NULL value in case of error, or the JSON document. This string must |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7092 * be freed by OrthancPluginFreeString(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7093 * @see OrthancPluginCreateDicom() |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7094 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7095 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7096 ORTHANC_PLUGIN_INLINE char* OrthancPluginEncodeDicomWebJson2( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7097 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7098 const void* dicom, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7099 uint32_t dicomSize, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7100 OrthancPluginDicomWebBinaryCallback2 callback, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7101 void* payload) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7102 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7103 char* target = NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7104 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7105 _OrthancPluginEncodeDicomWeb2 params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7106 params.target = ⌖ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7107 params.dicom = dicom; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7108 params.dicomSize = dicomSize; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7109 params.callback = callback; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7110 params.payload = payload; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7111 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7112 if (context->InvokeService(context, _OrthancPluginService_EncodeDicomWebJson2, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7113 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7114 /* Error */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7115 return NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7116 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7117 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7118 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7119 return target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7120 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7121 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7122 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7123 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7124 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7125 * @brief Convert a DICOM instance to DICOMweb XML. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7126 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7127 * This function converts a memory buffer containing a DICOM instance, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7128 * into its DICOMweb XML representation. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7129 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7130 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7131 * @param dicom Pointer to the DICOM instance. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7132 * @param dicomSize Size of the DICOM instance. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7133 * @param callback Callback to set the value of the binary tags. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7134 * @param payload User payload. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7135 * @return The NULL value in case of error, or the XML document. This string must |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7136 * be freed by OrthancPluginFreeString(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7137 * @see OrthancPluginCreateDicom() |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7138 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7139 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7140 ORTHANC_PLUGIN_INLINE char* OrthancPluginEncodeDicomWebXml2( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7141 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7142 const void* dicom, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7143 uint32_t dicomSize, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7144 OrthancPluginDicomWebBinaryCallback2 callback, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7145 void* payload) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7146 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7147 char* target = NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7148 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7149 _OrthancPluginEncodeDicomWeb2 params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7150 params.target = ⌖ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7151 params.dicom = dicom; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7152 params.dicomSize = dicomSize; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7153 params.callback = callback; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7154 params.payload = payload; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7155 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7156 if (context->InvokeService(context, _OrthancPluginService_EncodeDicomWebXml2, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7157 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7158 /* Error */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7159 return NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7160 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7161 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7162 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7163 return target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7164 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7165 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7166 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7167 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7168 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7169 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7170 * @brief Callback executed when a HTTP header is received during a chunked transfer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7171 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7172 * Signature of a callback function that is called by Orthanc acting |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7173 * as a HTTP client during a chunked HTTP transfer, as soon as it |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7174 * receives one HTTP header from the answer of the remote HTTP |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7175 * server. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7176 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7177 * @see OrthancPluginChunkedHttpClient() |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7178 * @param answer The user payload, as provided by the calling plugin. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7179 * @param key The key of the HTTP header. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7180 * @param value The value of the HTTP header. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7181 * @return 0 if success, or the error code if failure. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7182 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7183 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7184 typedef OrthancPluginErrorCode (*OrthancPluginChunkedClientAnswerAddHeader) ( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7185 void* answer, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7186 const char* key, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7187 const char* value); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7188 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7189 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7190 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7191 * @brief Callback executed when an answer chunk is received during a chunked transfer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7192 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7193 * Signature of a callback function that is called by Orthanc acting |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7194 * as a HTTP client during a chunked HTTP transfer, as soon as it |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7195 * receives one data chunk from the answer of the remote HTTP |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7196 * server. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7197 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7198 * @see OrthancPluginChunkedHttpClient() |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7199 * @param answer The user payload, as provided by the calling plugin. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7200 * @param data The content of the data chunk. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7201 * @param size The size of the data chunk. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7202 * @return 0 if success, or the error code if failure. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7203 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7204 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7205 typedef OrthancPluginErrorCode (*OrthancPluginChunkedClientAnswerAddChunk) ( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7206 void* answer, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7207 const void* data, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7208 uint32_t size); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7209 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7210 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7211 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7212 * @brief Callback to know whether the request body is entirely read during a chunked transfer |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7213 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7214 * Signature of a callback function that is called by Orthanc acting |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7215 * as a HTTP client during a chunked HTTP transfer, while reading |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7216 * the body of a POST or PUT request. The plugin must answer "1" as |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7217 * soon as the body is entirely read: The "request" data structure |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7218 * must act as an iterator. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7219 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7220 * @see OrthancPluginChunkedHttpClient() |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7221 * @param request The user payload, as provided by the calling plugin. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7222 * @return "1" if the body is over, or "0" if there is still data to be read. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7223 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7224 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7225 typedef uint8_t (*OrthancPluginChunkedClientRequestIsDone) (void* request); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7226 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7227 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7228 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7229 * @brief Callback to advance in the request body during a chunked transfer |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7230 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7231 * Signature of a callback function that is called by Orthanc acting |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7232 * as a HTTP client during a chunked HTTP transfer, while reading |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7233 * the body of a POST or PUT request. This function asks the plugin |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7234 * to advance to the next chunk of data of the request body: The |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7235 * "request" data structure must act as an iterator. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7236 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7237 * @see OrthancPluginChunkedHttpClient() |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7238 * @param request The user payload, as provided by the calling plugin. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7239 * @return 0 if success, or the error code if failure. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7240 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7241 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7242 typedef OrthancPluginErrorCode (*OrthancPluginChunkedClientRequestNext) (void* request); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7243 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7244 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7245 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7246 * @brief Callback to read the current chunk of the request body during a chunked transfer |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7247 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7248 * Signature of a callback function that is called by Orthanc acting |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7249 * as a HTTP client during a chunked HTTP transfer, while reading |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7250 * the body of a POST or PUT request. The plugin must provide the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7251 * content of the current chunk of data of the request body. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7252 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7253 * @see OrthancPluginChunkedHttpClient() |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7254 * @param request The user payload, as provided by the calling plugin. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7255 * @return The content of the current request chunk. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7256 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7257 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7258 typedef const void* (*OrthancPluginChunkedClientRequestGetChunkData) (void* request); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7259 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7260 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7261 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7262 * @brief Callback to read the size of the current request chunk during a chunked transfer |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7263 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7264 * Signature of a callback function that is called by Orthanc acting |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7265 * as a HTTP client during a chunked HTTP transfer, while reading |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7266 * the body of a POST or PUT request. The plugin must provide the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7267 * size of the current chunk of data of the request body. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7268 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7269 * @see OrthancPluginChunkedHttpClient() |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7270 * @param request The user payload, as provided by the calling plugin. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7271 * @return The size of the current request chunk. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7272 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7273 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7274 typedef uint32_t (*OrthancPluginChunkedClientRequestGetChunkSize) (void* request); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7275 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7276 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7277 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7278 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7279 void* answer; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7280 OrthancPluginChunkedClientAnswerAddChunk answerAddChunk; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7281 OrthancPluginChunkedClientAnswerAddHeader answerAddHeader; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7282 uint16_t* httpStatus; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7283 OrthancPluginHttpMethod method; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7284 const char* url; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7285 uint32_t headersCount; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7286 const char* const* headersKeys; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7287 const char* const* headersValues; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7288 void* request; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7289 OrthancPluginChunkedClientRequestIsDone requestIsDone; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7290 OrthancPluginChunkedClientRequestGetChunkData requestChunkData; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7291 OrthancPluginChunkedClientRequestGetChunkSize requestChunkSize; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7292 OrthancPluginChunkedClientRequestNext requestNext; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7293 const char* username; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7294 const char* password; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7295 uint32_t timeout; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7296 const char* certificateFile; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7297 const char* certificateKeyFile; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7298 const char* certificateKeyPassword; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7299 uint8_t pkcs11; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7300 } _OrthancPluginChunkedHttpClient; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7301 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7302 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7303 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7304 * @brief Issue a HTTP call, using chunked HTTP transfers. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7305 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7306 * Make a HTTP call to the given URL using chunked HTTP |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7307 * transfers. The request body is provided as an iterator over data |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7308 * chunks. The answer is provided as a sequence of function calls |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7309 * with the individual HTTP headers and answer chunks. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7310 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7311 * Contrarily to OrthancPluginHttpClient() that entirely stores the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7312 * request body and the answer body in memory buffers, this function |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7313 * uses chunked HTTP transfers. This results in a lower memory |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7314 * consumption. Pay attention to the fact that Orthanc servers with |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7315 * version <= 1.5.6 do not support chunked transfers: You must use |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7316 * OrthancPluginHttpClient() if contacting such older servers. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7317 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7318 * The HTTP request will be done accordingly to the global |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7319 * configuration of Orthanc (in particular, the options "HttpProxy", |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7320 * "HttpTimeout", "HttpsVerifyPeers", "HttpsCACertificates", and |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7321 * "Pkcs11" will be taken into account). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7322 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7323 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7324 * @param answer The user payload for the answer body. It will be provided to the callbacks for the answer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7325 * @param answerAddChunk Callback function to report a data chunk from the answer body. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7326 * @param answerAddHeader Callback function to report an HTTP header sent by the remote server. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7327 * @param httpStatus The HTTP status after the execution of the request (out argument). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7328 * @param method HTTP method to be used. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7329 * @param url The URL of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7330 * @param headersCount The number of HTTP headers. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7331 * @param headersKeys Array containing the keys of the HTTP headers (can be <tt>NULL</tt> if no header). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7332 * @param headersValues Array containing the values of the HTTP headers (can be <tt>NULL</tt> if no header). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7333 * @param request The user payload containing the request body, and acting as an iterator. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7334 * It will be provided to the callbacks for the request. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7335 * @param requestIsDone Callback function to tell whether the request body is entirely read. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7336 * @param requestChunkData Callback function to get the content of the current data chunk of the request body. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7337 * @param requestChunkSize Callback function to get the size of the current data chunk of the request body. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7338 * @param requestNext Callback function to advance to the next data chunk of the request body. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7339 * @param username The username (can be <tt>NULL</tt> if no password protection). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7340 * @param password The password (can be <tt>NULL</tt> if no password protection). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7341 * @param timeout Timeout in seconds (0 for default timeout). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7342 * @param certificateFile Path to the client certificate for HTTPS, in PEM format |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7343 * (can be <tt>NULL</tt> if no client certificate or if not using HTTPS). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7344 * @param certificateKeyFile Path to the key of the client certificate for HTTPS, in PEM format |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7345 * (can be <tt>NULL</tt> if no client certificate or if not using HTTPS). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7346 * @param certificateKeyPassword Password to unlock the key of the client certificate |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7347 * (can be <tt>NULL</tt> if no client certificate or if not using HTTPS). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7348 * @param pkcs11 Enable PKCS#11 client authentication for hardware security modules and smart cards. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7349 * @return 0 if success, or the error code if failure. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7350 * @see OrthancPluginHttpClient() |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7351 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7352 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7353 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginChunkedHttpClient( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7354 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7355 void* answer, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7356 OrthancPluginChunkedClientAnswerAddChunk answerAddChunk, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7357 OrthancPluginChunkedClientAnswerAddHeader answerAddHeader, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7358 uint16_t* httpStatus, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7359 OrthancPluginHttpMethod method, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7360 const char* url, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7361 uint32_t headersCount, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7362 const char* const* headersKeys, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7363 const char* const* headersValues, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7364 void* request, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7365 OrthancPluginChunkedClientRequestIsDone requestIsDone, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7366 OrthancPluginChunkedClientRequestGetChunkData requestChunkData, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7367 OrthancPluginChunkedClientRequestGetChunkSize requestChunkSize, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7368 OrthancPluginChunkedClientRequestNext requestNext, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7369 const char* username, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7370 const char* password, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7371 uint32_t timeout, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7372 const char* certificateFile, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7373 const char* certificateKeyFile, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7374 const char* certificateKeyPassword, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7375 uint8_t pkcs11) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7376 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7377 _OrthancPluginChunkedHttpClient params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7378 memset(¶ms, 0, sizeof(params)); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7379 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7380 /* In common with OrthancPluginHttpClient() */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7381 params.httpStatus = httpStatus; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7382 params.method = method; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7383 params.url = url; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7384 params.headersCount = headersCount; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7385 params.headersKeys = headersKeys; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7386 params.headersValues = headersValues; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7387 params.username = username; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7388 params.password = password; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7389 params.timeout = timeout; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7390 params.certificateFile = certificateFile; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7391 params.certificateKeyFile = certificateKeyFile; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7392 params.certificateKeyPassword = certificateKeyPassword; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7393 params.pkcs11 = pkcs11; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7394 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7395 /* For chunked body/answer */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7396 params.answer = answer; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7397 params.answerAddChunk = answerAddChunk; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7398 params.answerAddHeader = answerAddHeader; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7399 params.request = request; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7400 params.requestIsDone = requestIsDone; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7401 params.requestChunkData = requestChunkData; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7402 params.requestChunkSize = requestChunkSize; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7403 params.requestNext = requestNext; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7404 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7405 return context->InvokeService(context, _OrthancPluginService_ChunkedHttpClient, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7406 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7407 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7408 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7409 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7410 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7411 * @brief Opaque structure that reads the content of a HTTP request body during a chunked HTTP transfer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7412 * @ingroup Callback |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7413 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7414 typedef struct _OrthancPluginServerChunkedRequestReader_t OrthancPluginServerChunkedRequestReader; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7415 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7416 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7417 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7418 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7419 * @brief Callback to create a reader to handle incoming chunked HTTP transfers. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7420 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7421 * Signature of a callback function that is called by Orthanc acting |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7422 * as a HTTP server that supports chunked HTTP transfers. This |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7423 * callback is only invoked if the HTTP method is POST or PUT. The |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7424 * callback must create an user-specific "reader" object that will |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7425 * be fed with the body of the incoming body. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7426 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7427 * @see OrthancPluginRegisterChunkedRestCallback() |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7428 * @param reader Memory location that must be filled with the newly-created reader. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7429 * @param url The URI that is accessed. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7430 * @param request The body of the HTTP request. Note that "body" and "bodySize" are not used. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7431 * @return 0 if success, or the error code if failure. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7432 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7433 typedef OrthancPluginErrorCode (*OrthancPluginServerChunkedRequestReaderFactory) ( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7434 OrthancPluginServerChunkedRequestReader** reader, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7435 const char* url, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7436 const OrthancPluginHttpRequest* request); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7437 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7438 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7439 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7440 * @brief Callback invoked whenever a new data chunk is available during a chunked transfer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7441 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7442 * Signature of a callback function that is called by Orthanc acting |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7443 * as a HTTP server that supports chunked HTTP transfers. This callback |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7444 * is invoked as soon as a new data chunk is available for the request body. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7445 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7446 * @see OrthancPluginRegisterChunkedRestCallback() |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7447 * @param reader The user payload, as created by the OrthancPluginServerChunkedRequestReaderFactory() callback. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7448 * @param data The content of the data chunk. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7449 * @param size The size of the data chunk. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7450 * @return 0 if success, or the error code if failure. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7451 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7452 typedef OrthancPluginErrorCode (*OrthancPluginServerChunkedRequestReaderAddChunk) ( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7453 OrthancPluginServerChunkedRequestReader* reader, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7454 const void* data, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7455 uint32_t size); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7456 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7457 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7458 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7459 * @brief Callback invoked whenever the request body is entirely received. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7460 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7461 * Signature of a callback function that is called by Orthanc acting |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7462 * as a HTTP server that supports chunked HTTP transfers. This |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7463 * callback is invoked as soon as the full body of the HTTP request |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7464 * is available. The plugin can then send its answer thanks to the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7465 * provided "output" object. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7466 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7467 * @see OrthancPluginRegisterChunkedRestCallback() |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7468 * @param reader The user payload, as created by the OrthancPluginServerChunkedRequestReaderFactory() callback. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7469 * @param output The HTTP connection to the client application. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7470 * @return 0 if success, or the error code if failure. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7471 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7472 typedef OrthancPluginErrorCode (*OrthancPluginServerChunkedRequestReaderExecute) ( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7473 OrthancPluginServerChunkedRequestReader* reader, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7474 OrthancPluginRestOutput* output); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7475 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7476 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7477 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7478 * @brief Callback invoked to release the resources associated with an incoming HTTP chunked transfer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7479 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7480 * Signature of a callback function that is called by Orthanc acting |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7481 * as a HTTP server that supports chunked HTTP transfers. This |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7482 * callback is invoked to release all the resources allocated by the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7483 * given reader. Note that this function might be invoked even if |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7484 * the entire body was not read, to deal with client error or |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7485 * disconnection. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7486 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7487 * @see OrthancPluginRegisterChunkedRestCallback() |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7488 * @param reader The user payload, as created by the OrthancPluginServerChunkedRequestReaderFactory() callback. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7489 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7490 typedef void (*OrthancPluginServerChunkedRequestReaderFinalize) ( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7491 OrthancPluginServerChunkedRequestReader* reader); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7492 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7493 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7494 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7495 const char* pathRegularExpression; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7496 OrthancPluginRestCallback getHandler; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7497 OrthancPluginServerChunkedRequestReaderFactory postHandler; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7498 OrthancPluginRestCallback deleteHandler; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7499 OrthancPluginServerChunkedRequestReaderFactory putHandler; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7500 OrthancPluginServerChunkedRequestReaderAddChunk addChunk; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7501 OrthancPluginServerChunkedRequestReaderExecute execute; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7502 OrthancPluginServerChunkedRequestReaderFinalize finalize; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7503 } _OrthancPluginChunkedRestCallback; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7504 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7505 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7506 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7507 * @brief Register a REST callback to handle chunked HTTP transfers. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7508 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7509 * This function registers a REST callback against a regular |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7510 * expression for a URI. This function must be called during the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7511 * initialization of the plugin, i.e. inside the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7512 * OrthancPluginInitialize() public function. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7513 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7514 * Contrarily to OrthancPluginRegisterRestCallback(), the callbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7515 * will NOT be invoked in mutual exclusion, so it is up to the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7516 * plugin to implement the required locking mechanisms. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7517 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7518 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7519 * @param pathRegularExpression Regular expression for the URI. May contain groups. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7520 * @param getHandler The callback function to handle REST calls using the GET HTTP method. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7521 * @param postHandler The callback function to handle REST calls using the POST HTTP method. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7522 * @param deleteHandler The callback function to handle REST calls using the DELETE HTTP method. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7523 * @param putHandler The callback function to handle REST calls using the PUT HTTP method. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7524 * @param addChunk The callback invoked when a new chunk is available for the request body of a POST or PUT call. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7525 * @param execute The callback invoked once the entire body of a POST or PUT call is read. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7526 * @param finalize The callback invoked to release the resources associated with a POST or PUT call. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7527 * @see OrthancPluginRegisterRestCallbackNoLock() |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7528 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7529 * @note |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7530 * The regular expression is case sensitive and must follow the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7531 * [Perl syntax](https://www.boost.org/doc/libs/1_67_0/libs/regex/doc/html/boost_regex/syntax/perl_syntax.html). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7532 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7533 * @ingroup Callbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7534 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7535 ORTHANC_PLUGIN_INLINE void OrthancPluginRegisterChunkedRestCallback( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7536 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7537 const char* pathRegularExpression, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7538 OrthancPluginRestCallback getHandler, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7539 OrthancPluginServerChunkedRequestReaderFactory postHandler, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7540 OrthancPluginRestCallback deleteHandler, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7541 OrthancPluginServerChunkedRequestReaderFactory putHandler, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7542 OrthancPluginServerChunkedRequestReaderAddChunk addChunk, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7543 OrthancPluginServerChunkedRequestReaderExecute execute, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7544 OrthancPluginServerChunkedRequestReaderFinalize finalize) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7545 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7546 _OrthancPluginChunkedRestCallback params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7547 params.pathRegularExpression = pathRegularExpression; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7548 params.getHandler = getHandler; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7549 params.postHandler = postHandler; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7550 params.deleteHandler = deleteHandler; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7551 params.putHandler = putHandler; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7552 params.addChunk = addChunk; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7553 params.execute = execute; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7554 params.finalize = finalize; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7555 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7556 context->InvokeService(context, _OrthancPluginService_RegisterChunkedRestCallback, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7557 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7558 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7559 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7560 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7561 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7562 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7563 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7564 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7565 char** result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7566 uint16_t group; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7567 uint16_t element; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7568 const char* privateCreator; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7569 } _OrthancPluginGetTagName; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7570 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7571 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7572 * @brief Returns the symbolic name of a DICOM tag. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7573 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7574 * This function makes a lookup to the dictionary of DICOM tags that |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7575 * are known to Orthanc, and returns the symbolic name of a DICOM tag. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7576 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7577 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7578 * @param group The group of the tag. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7579 * @param element The element of the tag. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7580 * @param privateCreator For private tags, the name of the private creator (can be NULL). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7581 * @return NULL in the case of an error, or a newly allocated string |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7582 * containing the path. This string must be freed by |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7583 * OrthancPluginFreeString(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7584 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7585 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7586 ORTHANC_PLUGIN_INLINE char* OrthancPluginGetTagName( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7587 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7588 uint16_t group, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7589 uint16_t element, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7590 const char* privateCreator) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7591 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7592 char* result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7593 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7594 _OrthancPluginGetTagName params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7595 params.result = &result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7596 params.group = group; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7597 params.element = element; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7598 params.privateCreator = privateCreator; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7599 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7600 if (context->InvokeService(context, _OrthancPluginService_GetTagName, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7601 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7602 /* Error */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7603 return NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7604 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7605 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7606 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7607 return result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7608 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7609 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7610 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7611 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7612 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7613 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7614 * @brief Callback executed by the storage commitment SCP. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7615 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7616 * Signature of a factory function that creates an object to handle |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7617 * one incoming storage commitment request. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7618 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7619 * @remark The factory receives the list of the SOP class/instance |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7620 * UIDs of interest to the remote storage commitment SCU. This gives |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7621 * the factory the possibility to start some prefetch process |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7622 * upfront in the background, before the handler object is actually |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7623 * queried about the status of these DICOM instances. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7624 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7625 * @param handler Output variable where the factory puts the handler object it created. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7626 * @param jobId ID of the Orthanc job that is responsible for handling |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7627 * the storage commitment request. This job will successively look for the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7628 * status of all the individual queried DICOM instances. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7629 * @param transactionUid UID of the storage commitment transaction |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7630 * provided by the storage commitment SCU. It contains the value of the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7631 * (0008,1195) DICOM tag. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7632 * @param sopClassUids Array of the SOP class UIDs (0008,0016) that are queried by the SCU. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7633 * @param sopInstanceUids Array of the SOP instance UIDs (0008,0018) that are queried by the SCU. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7634 * @param countInstances Number of DICOM instances that are queried. This is the size |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7635 * of the `sopClassUids` and `sopInstanceUids` arrays. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7636 * @param remoteAet The AET of the storage commitment SCU. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7637 * @param calledAet The AET used by the SCU to contact the storage commitment SCP (i.e. Orthanc). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7638 * @return 0 if success, other value if error. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7639 * @ingroup DicomCallbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7640 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7641 typedef OrthancPluginErrorCode (*OrthancPluginStorageCommitmentFactory) ( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7642 void** handler /* out */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7643 const char* jobId, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7644 const char* transactionUid, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7645 const char* const* sopClassUids, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7646 const char* const* sopInstanceUids, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7647 uint32_t countInstances, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7648 const char* remoteAet, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7649 const char* calledAet); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7650 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7651 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7652 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7653 * @brief Callback to free one storage commitment SCP handler. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7654 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7655 * Signature of a callback function that releases the resources |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7656 * allocated by the factory of the storage commitment SCP. The |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7657 * handler is the return value of a previous call to the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7658 * OrthancPluginStorageCommitmentFactory() callback. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7659 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7660 * @param handler The handler object to be destructed. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7661 * @ingroup DicomCallbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7662 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7663 typedef void (*OrthancPluginStorageCommitmentDestructor) (void* handler); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7664 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7665 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7666 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7667 * @brief Callback to get the status of one DICOM instance in the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7668 * storage commitment SCP. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7669 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7670 * Signature of a callback function that is successively invoked for |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7671 * each DICOM instance that is queried by the remote storage |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7672 * commitment SCU. The function must be tought of as a method of |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7673 * the handler object that was created by a previous call to the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7674 * OrthancPluginStorageCommitmentFactory() callback. After each call |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7675 * to this method, the progress of the associated Orthanc job is |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7676 * updated. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7677 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7678 * @param target Output variable where to put the status for the queried instance. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7679 * @param handler The handler object associated with this storage commitment request. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7680 * @param sopClassUid The SOP class UID (0008,0016) of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7681 * @param sopInstanceUid The SOP instance UID (0008,0018) of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7682 * @ingroup DicomCallbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7683 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7684 typedef OrthancPluginErrorCode (*OrthancPluginStorageCommitmentLookup) ( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7685 OrthancPluginStorageCommitmentFailureReason* target, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7686 void* handler, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7687 const char* sopClassUid, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7688 const char* sopInstanceUid); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7689 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7690 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7691 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7692 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7693 OrthancPluginStorageCommitmentFactory factory; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7694 OrthancPluginStorageCommitmentDestructor destructor; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7695 OrthancPluginStorageCommitmentLookup lookup; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7696 } _OrthancPluginRegisterStorageCommitmentScpCallback; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7697 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7698 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7699 * @brief Register a callback to handle incoming requests to the storage commitment SCP. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7700 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7701 * This function registers a callback to handle storage commitment SCP requests. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7702 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7703 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7704 * @param factory Factory function that creates the handler object |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7705 * for incoming storage commitment requests. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7706 * @param destructor Destructor function to destroy the handler object. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7707 * @param lookup Callback method to get the status of one DICOM instance. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7708 * @return 0 if success, other value if error. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7709 * @ingroup DicomCallbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7710 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7711 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginRegisterStorageCommitmentScpCallback( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7712 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7713 OrthancPluginStorageCommitmentFactory factory, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7714 OrthancPluginStorageCommitmentDestructor destructor, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7715 OrthancPluginStorageCommitmentLookup lookup) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7716 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7717 _OrthancPluginRegisterStorageCommitmentScpCallback params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7718 params.factory = factory; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7719 params.destructor = destructor; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7720 params.lookup = lookup; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7721 return context->InvokeService(context, _OrthancPluginService_RegisterStorageCommitmentScpCallback, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7722 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7723 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7724 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7725 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7726 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7727 * @brief Callback to filter incoming DICOM instances received by Orthanc. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7728 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7729 * Signature of a callback function that is triggered whenever |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7730 * Orthanc receives a new DICOM instance (e.g. through REST API or |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7731 * DICOM protocol), and that answers whether this DICOM instance |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7732 * should be accepted or discarded by Orthanc. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7733 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7734 * Note that the metadata information is not available |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7735 * (i.e. GetInstanceMetadata() should not be used on "instance"). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7736 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7737 * @warning Your callback function will be called synchronously with |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7738 * the core of Orthanc. This implies that deadlocks might emerge if |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7739 * you call other core primitives of Orthanc in your callback (such |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7740 * deadlocks are particularly visible in the presence of other plugins |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7741 * or Lua scripts). It is thus strongly advised to avoid any call to |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7742 * the REST API of Orthanc in the callback. If you have to call |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7743 * other primitives of Orthanc, you should make these calls in a |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7744 * separate thread, passing the pending events to be processed |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7745 * through a message queue. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7746 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7747 * @param instance The received DICOM instance. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7748 * @return 0 to discard the instance, 1 to store the instance, -1 if error. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7749 * @ingroup Callback |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7750 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7751 typedef int32_t (*OrthancPluginIncomingDicomInstanceFilter) ( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7752 const OrthancPluginDicomInstance* instance); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7753 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7754 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7755 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7756 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7757 OrthancPluginIncomingDicomInstanceFilter callback; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7758 } _OrthancPluginIncomingDicomInstanceFilter; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7759 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7760 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7761 * @brief Register a callback to filter incoming DICOM instances. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7762 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7763 * This function registers a custom callback to filter incoming |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7764 * DICOM instances received by Orthanc (either through the REST API |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7765 * or through the DICOM protocol). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7766 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7767 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7768 * @param callback The callback. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7769 * @return 0 if success, other value if error. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7770 * @ingroup Callbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7771 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7772 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginRegisterIncomingDicomInstanceFilter( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7773 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7774 OrthancPluginIncomingDicomInstanceFilter callback) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7775 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7776 _OrthancPluginIncomingDicomInstanceFilter params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7777 params.callback = callback; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7778 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7779 return context->InvokeService(context, _OrthancPluginService_RegisterIncomingDicomInstanceFilter, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7780 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7781 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7782 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7783 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7784 * @brief Callback to filter incoming DICOM instances received by |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7785 * Orthanc through C-STORE. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7786 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7787 * Signature of a callback function that is triggered whenever |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7788 * Orthanc receives a new DICOM instance using DICOM C-STORE, and |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7789 * that answers whether this DICOM instance should be accepted or |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7790 * discarded by Orthanc. If the instance is discarded, the callback |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7791 * can specify the DIMSE error code answered by the Orthanc C-STORE |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7792 * SCP. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7793 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7794 * Note that the metadata information is not available |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7795 * (i.e. GetInstanceMetadata() should not be used on "instance"). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7796 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7797 * @warning Your callback function will be called synchronously with |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7798 * the core of Orthanc. This implies that deadlocks might emerge if |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7799 * you call other core primitives of Orthanc in your callback (such |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7800 * deadlocks are particularly visible in the presence of other plugins |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7801 * or Lua scripts). It is thus strongly advised to avoid any call to |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7802 * the REST API of Orthanc in the callback. If you have to call |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7803 * other primitives of Orthanc, you should make these calls in a |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7804 * separate thread, passing the pending events to be processed |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7805 * through a message queue. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7806 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7807 * @param dimseStatus If the DICOM instance is discarded, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7808 * DIMSE status to be sent by the C-STORE SCP of Orthanc |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7809 * @param instance The received DICOM instance. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7810 * @return 0 to discard the instance, 1 to store the instance, -1 if error. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7811 * @ingroup Callback |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7812 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7813 typedef int32_t (*OrthancPluginIncomingCStoreInstanceFilter) ( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7814 uint16_t* dimseStatus /* out */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7815 const OrthancPluginDicomInstance* instance); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7816 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7817 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7818 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7819 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7820 OrthancPluginIncomingCStoreInstanceFilter callback; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7821 } _OrthancPluginIncomingCStoreInstanceFilter; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7822 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7823 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7824 * @brief Register a callback to filter incoming DICOM instances |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7825 * received by Orthanc through C-STORE. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7826 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7827 * This function registers a custom callback to filter incoming |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7828 * DICOM instances received by Orthanc through the DICOM protocol. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7829 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7830 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7831 * @param callback The callback. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7832 * @return 0 if success, other value if error. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7833 * @ingroup Callbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7834 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7835 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginRegisterIncomingCStoreInstanceFilter( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7836 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7837 OrthancPluginIncomingCStoreInstanceFilter callback) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7838 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7839 _OrthancPluginIncomingCStoreInstanceFilter params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7840 params.callback = callback; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7841 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7842 return context->InvokeService(context, _OrthancPluginService_RegisterIncomingCStoreInstanceFilter, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7843 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7844 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7845 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7846 * @brief Callback to keep/discard/modify a DICOM instance received |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7847 * by Orthanc from any source (C-STORE or REST API) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7848 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7849 * Signature of a callback function that is triggered whenever |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7850 * Orthanc receives a new DICOM instance (through DICOM protocol or |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7851 * REST API), and that specifies an action to be applied to this |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7852 * newly received instance. The instance can be kept as it is, can |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7853 * be modified by the plugin, or can be discarded. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7854 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7855 * This callback is invoked immediately after reception, i.e. before |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7856 * transcoding and before filtering |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7857 * (cf. OrthancPluginRegisterIncomingDicomInstanceFilter()). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7858 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7859 * @warning Your callback function will be called synchronously with |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7860 * the core of Orthanc. This implies that deadlocks might emerge if |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7861 * you call other core primitives of Orthanc in your callback (such |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7862 * deadlocks are particularly visible in the presence of other plugins |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7863 * or Lua scripts). It is thus strongly advised to avoid any call to |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7864 * the REST API of Orthanc in the callback. If you have to call |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7865 * other primitives of Orthanc, you should make these calls in a |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7866 * separate thread, passing the pending events to be processed |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7867 * through a message queue. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7868 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7869 * @param modifiedDicomBuffer A buffer containing the modified DICOM (output). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7870 * This buffer must be allocated using OrthancPluginCreateMemoryBuffer64() |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7871 * and will be freed by the Orthanc core. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7872 * @param receivedDicomBuffer A buffer containing the received DICOM (input). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7873 * @param receivedDicomBufferSize The size of the received DICOM (input). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7874 * @param origin The origin of the DICOM instance (input). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7875 * @return `OrthancPluginReceivedInstanceAction_KeepAsIs` to accept the instance as is,<br/> |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7876 * `OrthancPluginReceivedInstanceAction_Modify` to store the modified DICOM contained in `modifiedDicomBuffer`,<br/> |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7877 * `OrthancPluginReceivedInstanceAction_Discard` to tell Orthanc to discard the instance. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7878 * @ingroup Callback |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7879 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7880 typedef OrthancPluginReceivedInstanceAction (*OrthancPluginReceivedInstanceCallback) ( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7881 OrthancPluginMemoryBuffer64* modifiedDicomBuffer, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7882 const void* receivedDicomBuffer, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7883 uint64_t receivedDicomBufferSize, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7884 OrthancPluginInstanceOrigin origin); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7885 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7886 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7887 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7888 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7889 OrthancPluginReceivedInstanceCallback callback; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7890 } _OrthancPluginReceivedInstanceCallback; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7891 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7892 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7893 * @brief Register a callback to keep/discard/modify a DICOM instance received |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7894 * by Orthanc from any source (C-STORE or REST API) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7895 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7896 * This function registers a custom callback to keep/discard/modify |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7897 * incoming DICOM instances received by Orthanc from any source |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7898 * (C-STORE or REST API). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7899 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7900 * @warning Contrarily to |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7901 * OrthancPluginRegisterIncomingCStoreInstanceFilter() and |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7902 * OrthancPluginRegisterIncomingDicomInstanceFilter() that can be |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7903 * called by multiple plugins, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7904 * OrthancPluginRegisterReceivedInstanceCallback() can only be used |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7905 * by one single plugin. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7906 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7907 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7908 * @param callback The callback. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7909 * @return 0 if success, other value if error. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7910 * @ingroup Callbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7911 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7912 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginRegisterReceivedInstanceCallback( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7913 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7914 OrthancPluginReceivedInstanceCallback callback) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7915 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7916 _OrthancPluginReceivedInstanceCallback params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7917 params.callback = callback; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7918 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7919 return context->InvokeService(context, _OrthancPluginService_RegisterReceivedInstanceCallback, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7920 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7921 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7922 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7923 * @brief Get the transfer syntax of a DICOM file. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7924 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7925 * This function returns a pointer to a newly created string that |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7926 * contains the transfer syntax UID of the DICOM instance. The empty |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7927 * string might be returned if this information is unknown. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7928 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7929 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7930 * @param instance The instance of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7931 * @return The NULL value in case of error, or a string containing the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7932 * transfer syntax UID. This string must be freed by OrthancPluginFreeString(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7933 * @ingroup DicomInstance |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7934 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7935 ORTHANC_PLUGIN_INLINE char* OrthancPluginGetInstanceTransferSyntaxUid( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7936 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7937 const OrthancPluginDicomInstance* instance) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7938 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7939 char* result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7940 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7941 _OrthancPluginAccessDicomInstance params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7942 memset(¶ms, 0, sizeof(params)); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7943 params.resultStringToFree = &result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7944 params.instance = instance; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7945 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7946 if (context->InvokeService(context, _OrthancPluginService_GetInstanceTransferSyntaxUid, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7947 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7948 /* Error */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7949 return NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7950 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7951 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7952 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7953 return result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7954 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7955 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7956 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7957 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7958 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7959 * @brief Check whether the DICOM file has pixel data. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7960 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7961 * This function returns a Boolean value indicating whether the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7962 * DICOM instance contains the pixel data (7FE0,0010) tag. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7963 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7964 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7965 * @param instance The instance of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7966 * @return "1" if the DICOM instance contains pixel data, or "0" if |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7967 * the tag is missing, or "-1" in the case of an error. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7968 * @ingroup DicomInstance |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7969 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7970 ORTHANC_PLUGIN_INLINE int32_t OrthancPluginHasInstancePixelData( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7971 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7972 const OrthancPluginDicomInstance* instance) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7973 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7974 int64_t hasPixelData; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7975 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7976 _OrthancPluginAccessDicomInstance params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7977 memset(¶ms, 0, sizeof(params)); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7978 params.resultInt64 = &hasPixelData; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7979 params.instance = instance; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7980 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7981 if (context->InvokeService(context, _OrthancPluginService_HasInstancePixelData, ¶ms) != OrthancPluginErrorCode_Success || |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7982 hasPixelData < 0 || |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7983 hasPixelData > 1) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7984 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7985 /* Error */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7986 return -1; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7987 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7988 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7989 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7990 return (hasPixelData != 0); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7991 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7992 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7993 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7994 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7995 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7996 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7997 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7998 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7999 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8000 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8001 OrthancPluginDicomInstance** target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8002 const void* buffer; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8003 uint32_t size; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8004 const char* transferSyntax; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8005 } _OrthancPluginCreateDicomInstance; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8006 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8007 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8008 * @brief Parse a DICOM instance. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8009 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8010 * This function parses a memory buffer that contains a DICOM |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8011 * file. The function returns a new pointer to a data structure that |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8012 * is managed by the Orthanc core. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8013 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8014 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8015 * @param buffer The memory buffer containing the DICOM instance. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8016 * @param size The size of the memory buffer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8017 * @return The newly allocated DICOM instance. It must be freed with OrthancPluginFreeDicomInstance(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8018 * @ingroup DicomInstance |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8019 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8020 ORTHANC_PLUGIN_INLINE OrthancPluginDicomInstance* OrthancPluginCreateDicomInstance( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8021 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8022 const void* buffer, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8023 uint32_t size) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8024 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8025 OrthancPluginDicomInstance* target = NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8026 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8027 _OrthancPluginCreateDicomInstance params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8028 params.target = ⌖ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8029 params.buffer = buffer; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8030 params.size = size; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8031 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8032 if (context->InvokeService(context, _OrthancPluginService_CreateDicomInstance, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8033 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8034 /* Error */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8035 return NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8036 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8037 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8038 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8039 return target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8040 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8041 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8042 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8043 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8044 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8045 OrthancPluginDicomInstance* dicom; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8046 } _OrthancPluginFreeDicomInstance; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8047 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8048 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8049 * @brief Free a DICOM instance. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8050 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8051 * This function frees a DICOM instance that was parsed using |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8052 * OrthancPluginCreateDicomInstance(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8053 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8054 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8055 * @param dicom The DICOM instance. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8056 * @ingroup DicomInstance |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8057 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8058 ORTHANC_PLUGIN_INLINE void OrthancPluginFreeDicomInstance( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8059 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8060 OrthancPluginDicomInstance* dicom) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8061 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8062 _OrthancPluginFreeDicomInstance params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8063 params.dicom = dicom; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8064 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8065 context->InvokeService(context, _OrthancPluginService_FreeDicomInstance, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8066 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8067 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8068 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8069 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8070 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8071 uint32_t* targetUint32; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8072 OrthancPluginMemoryBuffer* targetBuffer; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8073 OrthancPluginImage** targetImage; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8074 char** targetStringToFree; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8075 const OrthancPluginDicomInstance* instance; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8076 uint32_t frameIndex; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8077 OrthancPluginDicomToJsonFormat format; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8078 OrthancPluginDicomToJsonFlags flags; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8079 uint32_t maxStringLength; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8080 OrthancPluginDicomWebBinaryCallback2 dicomWebCallback; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8081 void* dicomWebPayload; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8082 } _OrthancPluginAccessDicomInstance2; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8083 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8084 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8085 * @brief Get the number of frames in a DICOM instance. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8086 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8087 * This function returns the number of frames that are part of a |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8088 * DICOM image managed by the Orthanc core. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8089 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8090 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8091 * @param instance The instance of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8092 * @return The number of frames (will be zero in the case of an error). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8093 * @ingroup DicomInstance |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8094 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8095 ORTHANC_PLUGIN_INLINE uint32_t OrthancPluginGetInstanceFramesCount( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8096 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8097 const OrthancPluginDicomInstance* instance) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8098 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8099 uint32_t count; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8100 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8101 _OrthancPluginAccessDicomInstance2 params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8102 memset(¶ms, 0, sizeof(params)); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8103 params.targetUint32 = &count; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8104 params.instance = instance; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8105 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8106 if (context->InvokeService(context, _OrthancPluginService_GetInstanceFramesCount, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8107 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8108 /* Error */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8109 return 0; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8110 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8111 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8112 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8113 return count; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8114 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8115 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8116 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8117 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8118 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8119 * @brief Get the raw content of a frame in a DICOM instance. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8120 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8121 * This function returns a memory buffer containing the raw content |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8122 * of a frame in a DICOM instance that is managed by the Orthanc |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8123 * core. This is notably useful for compressed transfer syntaxes, as |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8124 * it gives access to the embedded files (such as JPEG, JPEG-LS or |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8125 * JPEG2k). The Orthanc core transparently reassembles the fragments |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8126 * to extract the raw frame. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8127 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8128 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8129 * @param target The target memory buffer. It must be freed with OrthancPluginFreeMemoryBuffer(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8130 * @param instance The instance of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8131 * @param frameIndex The index of the frame of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8132 * @return 0 if success, or the error code if failure. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8133 * @ingroup DicomInstance |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8134 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8135 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginGetInstanceRawFrame( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8136 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8137 OrthancPluginMemoryBuffer* target, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8138 const OrthancPluginDicomInstance* instance, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8139 uint32_t frameIndex) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8140 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8141 _OrthancPluginAccessDicomInstance2 params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8142 memset(¶ms, 0, sizeof(params)); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8143 params.targetBuffer = target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8144 params.instance = instance; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8145 params.frameIndex = frameIndex; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8146 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8147 return context->InvokeService(context, _OrthancPluginService_GetInstanceRawFrame, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8148 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8149 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8150 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8151 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8152 * @brief Decode one frame from a DICOM instance. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8153 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8154 * This function decodes one frame of a DICOM image that is managed |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8155 * by the Orthanc core. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8156 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8157 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8158 * @param instance The instance of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8159 * @param frameIndex The index of the frame of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8160 * @return The uncompressed image. It must be freed with OrthancPluginFreeImage(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8161 * @ingroup DicomInstance |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8162 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8163 ORTHANC_PLUGIN_INLINE OrthancPluginImage* OrthancPluginGetInstanceDecodedFrame( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8164 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8165 const OrthancPluginDicomInstance* instance, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8166 uint32_t frameIndex) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8167 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8168 OrthancPluginImage* target = NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8169 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8170 _OrthancPluginAccessDicomInstance2 params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8171 memset(¶ms, 0, sizeof(params)); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8172 params.targetImage = ⌖ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8173 params.instance = instance; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8174 params.frameIndex = frameIndex; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8175 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8176 if (context->InvokeService(context, _OrthancPluginService_GetInstanceDecodedFrame, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8177 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8178 return NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8179 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8180 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8181 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8182 return target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8183 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8184 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8185 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8186 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8187 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8188 * @brief Parse and transcode a DICOM instance. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8189 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8190 * This function parses a memory buffer that contains a DICOM file, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8191 * then transcodes it to the given transfer syntax. The function |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8192 * returns a new pointer to a data structure that is managed by the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8193 * Orthanc core. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8194 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8195 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8196 * @param buffer The memory buffer containing the DICOM instance. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8197 * @param size The size of the memory buffer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8198 * @param transferSyntax The transfer syntax UID for the transcoding. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8199 * @return The newly allocated DICOM instance. It must be freed with OrthancPluginFreeDicomInstance(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8200 * @ingroup DicomInstance |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8201 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8202 ORTHANC_PLUGIN_INLINE OrthancPluginDicomInstance* OrthancPluginTranscodeDicomInstance( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8203 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8204 const void* buffer, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8205 uint32_t size, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8206 const char* transferSyntax) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8207 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8208 OrthancPluginDicomInstance* target = NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8209 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8210 _OrthancPluginCreateDicomInstance params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8211 params.target = ⌖ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8212 params.buffer = buffer; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8213 params.size = size; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8214 params.transferSyntax = transferSyntax; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8215 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8216 if (context->InvokeService(context, _OrthancPluginService_TranscodeDicomInstance, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8217 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8218 /* Error */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8219 return NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8220 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8221 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8222 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8223 return target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8224 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8225 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8226 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8227 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8228 * @brief Writes a DICOM instance to a memory buffer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8229 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8230 * This function returns a memory buffer containing the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8231 * serialization of a DICOM instance that is managed by the Orthanc |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8232 * core. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8233 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8234 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8235 * @param target The target memory buffer. It must be freed with OrthancPluginFreeMemoryBuffer(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8236 * @param instance The instance of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8237 * @return 0 if success, or the error code if failure. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8238 * @ingroup DicomInstance |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8239 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8240 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginSerializeDicomInstance( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8241 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8242 OrthancPluginMemoryBuffer* target, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8243 const OrthancPluginDicomInstance* instance) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8244 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8245 _OrthancPluginAccessDicomInstance2 params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8246 memset(¶ms, 0, sizeof(params)); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8247 params.targetBuffer = target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8248 params.instance = instance; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8249 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8250 return context->InvokeService(context, _OrthancPluginService_SerializeDicomInstance, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8251 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8252 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8253 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8254 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8255 * @brief Format a DICOM memory buffer as a JSON string. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8256 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8257 * This function takes as DICOM instance managed by the Orthanc |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8258 * core, and outputs a JSON string representing the tags of this |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8259 * DICOM file. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8260 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8261 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8262 * @param instance The DICOM instance of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8263 * @param format The output format. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8264 * @param flags Flags governing the output. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8265 * @param maxStringLength The maximum length of a field. Too long fields will |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8266 * be output as "null". The 0 value means no maximum length. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8267 * @return The NULL value if the case of an error, or the JSON |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8268 * string. This string must be freed by OrthancPluginFreeString(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8269 * @ingroup DicomInstance |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8270 * @see OrthancPluginDicomBufferToJson |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8271 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8272 ORTHANC_PLUGIN_INLINE char* OrthancPluginGetInstanceAdvancedJson( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8273 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8274 const OrthancPluginDicomInstance* instance, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8275 OrthancPluginDicomToJsonFormat format, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8276 OrthancPluginDicomToJsonFlags flags, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8277 uint32_t maxStringLength) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8278 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8279 char* result = NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8280 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8281 _OrthancPluginAccessDicomInstance2 params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8282 memset(¶ms, 0, sizeof(params)); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8283 params.targetStringToFree = &result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8284 params.instance = instance; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8285 params.format = format; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8286 params.flags = flags; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8287 params.maxStringLength = maxStringLength; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8288 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8289 if (context->InvokeService(context, _OrthancPluginService_GetInstanceAdvancedJson, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8290 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8291 /* Error */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8292 return NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8293 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8294 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8295 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8296 return result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8297 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8298 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8299 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8300 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8301 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8302 * @brief Convert a DICOM instance to DICOMweb JSON. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8303 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8304 * This function converts a DICOM instance that is managed by the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8305 * Orthanc core, into its DICOMweb JSON representation. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8306 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8307 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8308 * @param instance The DICOM instance of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8309 * @param callback Callback to set the value of the binary tags. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8310 * @param payload User payload. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8311 * @return The NULL value in case of error, or the JSON document. This string must |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8312 * be freed by OrthancPluginFreeString(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8313 * @ingroup DicomInstance |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8314 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8315 ORTHANC_PLUGIN_INLINE char* OrthancPluginGetInstanceDicomWebJson( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8316 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8317 const OrthancPluginDicomInstance* instance, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8318 OrthancPluginDicomWebBinaryCallback2 callback, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8319 void* payload) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8320 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8321 char* target = NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8322 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8323 _OrthancPluginAccessDicomInstance2 params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8324 params.targetStringToFree = ⌖ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8325 params.instance = instance; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8326 params.dicomWebCallback = callback; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8327 params.dicomWebPayload = payload; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8328 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8329 if (context->InvokeService(context, _OrthancPluginService_GetInstanceDicomWebJson, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8330 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8331 /* Error */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8332 return NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8333 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8334 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8335 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8336 return target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8337 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8338 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8339 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8340 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8341 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8342 * @brief Convert a DICOM instance to DICOMweb XML. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8343 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8344 * This function converts a DICOM instance that is managed by the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8345 * Orthanc core, into its DICOMweb XML representation. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8346 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8347 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8348 * @param instance The DICOM instance of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8349 * @param callback Callback to set the value of the binary tags. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8350 * @param payload User payload. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8351 * @return The NULL value in case of error, or the XML document. This string must |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8352 * be freed by OrthancPluginFreeString(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8353 * @ingroup DicomInstance |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8354 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8355 ORTHANC_PLUGIN_INLINE char* OrthancPluginGetInstanceDicomWebXml( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8356 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8357 const OrthancPluginDicomInstance* instance, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8358 OrthancPluginDicomWebBinaryCallback2 callback, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8359 void* payload) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8360 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8361 char* target = NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8362 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8363 _OrthancPluginAccessDicomInstance2 params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8364 params.targetStringToFree = ⌖ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8365 params.instance = instance; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8366 params.dicomWebCallback = callback; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8367 params.dicomWebPayload = payload; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8368 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8369 if (context->InvokeService(context, _OrthancPluginService_GetInstanceDicomWebXml, ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8370 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8371 /* Error */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8372 return NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8373 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8374 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8375 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8376 return target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8377 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8378 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8379 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8380 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8381 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8382 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8383 * @brief Signature of a callback function to transcode a DICOM instance. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8384 * @param transcoded Target memory buffer. It must be allocated by the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8385 * plugin using OrthancPluginCreateMemoryBuffer(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8386 * @param buffer Memory buffer containing the source DICOM instance. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8387 * @param size Size of the source memory buffer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8388 * @param allowedSyntaxes A C array of possible transfer syntaxes UIDs for the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8389 * result of the transcoding. The plugin must choose by itself the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8390 * transfer syntax that will be used for the resulting DICOM image. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8391 * @param countSyntaxes The number of transfer syntaxes that are contained |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8392 * in the "allowedSyntaxes" array. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8393 * @param allowNewSopInstanceUid Whether the transcoding plugin can select |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8394 * a transfer syntax that will change the SOP instance UID (or, in other |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8395 * terms, whether the plugin can transcode using lossy compression). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8396 * @return 0 if success (i.e. image successfully transcoded and stored into |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8397 * "transcoded"), or the error code if failure. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8398 * @ingroup Callbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8399 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8400 typedef OrthancPluginErrorCode (*OrthancPluginTranscoderCallback) ( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8401 OrthancPluginMemoryBuffer* transcoded /* out */, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8402 const void* buffer, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8403 uint64_t size, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8404 const char* const* allowedSyntaxes, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8405 uint32_t countSyntaxes, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8406 uint8_t allowNewSopInstanceUid); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8407 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8408 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8409 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8410 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8411 OrthancPluginTranscoderCallback callback; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8412 } _OrthancPluginTranscoderCallback; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8413 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8414 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8415 * @brief Register a callback to handle the transcoding of DICOM images. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8416 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8417 * This function registers a custom callback to transcode DICOM |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8418 * images, extending the built-in transcoder of Orthanc that uses |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8419 * DCMTK. The exact behavior is affected by the configuration option |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8420 * "BuiltinDecoderTranscoderOrder" of Orthanc. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8421 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8422 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8423 * @param callback The callback. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8424 * @return 0 if success, other value if error. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8425 * @ingroup Callbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8426 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8427 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginRegisterTranscoderCallback( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8428 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8429 OrthancPluginTranscoderCallback callback) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8430 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8431 _OrthancPluginTranscoderCallback params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8432 params.callback = callback; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8433 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8434 return context->InvokeService(context, _OrthancPluginService_RegisterTranscoderCallback, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8435 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8436 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8437 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8438 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8439 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8440 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8441 OrthancPluginMemoryBuffer* target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8442 uint32_t size; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8443 } _OrthancPluginCreateMemoryBuffer; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8444 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8445 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8446 * @brief Create a 32-bit memory buffer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8447 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8448 * This function creates a memory buffer that is managed by the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8449 * Orthanc core. The main use case of this function is for plugins |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8450 * that act as DICOM transcoders. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8451 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8452 * Your plugin should never call "free()" on the resulting memory |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8453 * buffer, as the C library that is used by the plugin is in general |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8454 * not the same as the one used by the Orthanc core. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8455 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8456 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8457 * @param target The target memory buffer. It must be freed with OrthancPluginFreeMemoryBuffer(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8458 * @param size Size of the memory buffer to be created. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8459 * @return 0 if success, or the error code if failure. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8460 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8461 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8462 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginCreateMemoryBuffer( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8463 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8464 OrthancPluginMemoryBuffer* target, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8465 uint32_t size) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8466 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8467 _OrthancPluginCreateMemoryBuffer params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8468 params.target = target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8469 params.size = size; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8470 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8471 return context->InvokeService(context, _OrthancPluginService_CreateMemoryBuffer, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8472 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8473 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8474 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8475 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8476 * @brief Generate a token to grant full access to the REST API of Orthanc |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8477 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8478 * This function generates a token that can be set in the HTTP |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8479 * header "Authorization" so as to grant full access to the REST API |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8480 * of Orthanc using an external HTTP client. Using this function |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8481 * avoids the need of adding a separate user in the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8482 * "RegisteredUsers" configuration of Orthanc, which eases |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8483 * deployments. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8484 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8485 * This feature is notably useful in multiprocess scenarios, where a |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8486 * subprocess created by a plugin has no access to the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8487 * "OrthancPluginContext", and thus cannot call |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8488 * "OrthancPluginRestApi[Get|Post|Put|Delete]()". |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8489 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8490 * This situation is frequently encountered in Python plugins, where |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8491 * the "multiprocessing" package can be used to bypass the Global |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8492 * Interpreter Lock (GIL) and thus to improve performance and |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8493 * concurrency. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8494 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8495 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8496 * @return The authorization token, or NULL value in the case of an error. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8497 * This string must be freed by OrthancPluginFreeString(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8498 * @ingroup Orthanc |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8499 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8500 ORTHANC_PLUGIN_INLINE char* OrthancPluginGenerateRestApiAuthorizationToken( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8501 OrthancPluginContext* context) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8502 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8503 char* result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8504 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8505 _OrthancPluginRetrieveDynamicString params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8506 params.result = &result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8507 params.argument = NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8508 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8509 if (context->InvokeService(context, _OrthancPluginService_GenerateRestApiAuthorizationToken, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8510 ¶ms) != OrthancPluginErrorCode_Success) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8511 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8512 /* Error */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8513 return NULL; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8514 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8515 else |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8516 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8517 return result; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8518 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8519 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8520 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8521 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8522 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8523 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8524 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8525 OrthancPluginMemoryBuffer64* target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8526 uint64_t size; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8527 } _OrthancPluginCreateMemoryBuffer64; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8528 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8529 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8530 * @brief Create a 64-bit memory buffer. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8531 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8532 * This function creates a 64-bit memory buffer that is managed by |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8533 * the Orthanc core. The main use case of this function is for |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8534 * plugins that read files from the storage area. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8535 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8536 * Your plugin should never call "free()" on the resulting memory |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8537 * buffer, as the C library that is used by the plugin is in general |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8538 * not the same as the one used by the Orthanc core. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8539 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8540 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8541 * @param target The target memory buffer. It must be freed with OrthancPluginFreeMemoryBuffer(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8542 * @param size Size of the memory buffer to be created. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8543 * @return 0 if success, or the error code if failure. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8544 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8545 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8546 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginCreateMemoryBuffer64( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8547 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8548 OrthancPluginMemoryBuffer64* target, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8549 uint64_t size) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8550 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8551 _OrthancPluginCreateMemoryBuffer64 params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8552 params.target = target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8553 params.size = size; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8554 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8555 return context->InvokeService(context, _OrthancPluginService_CreateMemoryBuffer64, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8556 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8557 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8558 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8559 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8560 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8561 OrthancPluginStorageCreate create; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8562 OrthancPluginStorageReadWhole readWhole; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8563 OrthancPluginStorageReadRange readRange; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8564 OrthancPluginStorageRemove remove; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8565 } _OrthancPluginRegisterStorageArea2; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8566 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8567 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8568 * @brief Register a custom storage area, with support for range request. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8569 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8570 * This function registers a custom storage area, to replace the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8571 * built-in way Orthanc stores its files on the filesystem. This |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8572 * function must be called during the initialization of the plugin, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8573 * i.e. inside the OrthancPluginInitialize() public function. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8574 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8575 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8576 * @param create The callback function to store a file on the custom storage area. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8577 * @param readWhole The callback function to read a whole file from the custom storage area. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8578 * @param readRange The callback function to read some range of a file from the custom storage area. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8579 * If this feature is not supported by the plugin, this value can be set to NULL. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8580 * @param remove The callback function to remove a file from the custom storage area. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8581 * @ingroup Callbacks |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8582 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8583 ORTHANC_PLUGIN_INLINE void OrthancPluginRegisterStorageArea2( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8584 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8585 OrthancPluginStorageCreate create, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8586 OrthancPluginStorageReadWhole readWhole, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8587 OrthancPluginStorageReadRange readRange, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8588 OrthancPluginStorageRemove remove) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8589 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8590 _OrthancPluginRegisterStorageArea2 params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8591 params.create = create; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8592 params.readWhole = readWhole; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8593 params.readRange = readRange; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8594 params.remove = remove; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8595 context->InvokeService(context, _OrthancPluginService_RegisterStorageArea2, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8596 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8597 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8598 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8599 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8600 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8601 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8602 _OrthancPluginCreateDicom createDicom; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8603 const char* privateCreator; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8604 } _OrthancPluginCreateDicom2; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8605 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8606 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8607 * @brief Create a DICOM instance from a JSON string and an image, with a private creator. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8608 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8609 * This function takes as input a string containing a JSON file |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8610 * describing the content of a DICOM instance. As an output, it |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8611 * writes the corresponding DICOM instance to a newly allocated |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8612 * memory buffer. Additionally, an image to be encoded within the |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8613 * DICOM instance can also be provided. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8614 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8615 * Contrarily to the function OrthancPluginCreateDicom(), this |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8616 * function can be explicitly provided with a private creator. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8617 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8618 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8619 * @param target The target memory buffer. It must be freed with OrthancPluginFreeMemoryBuffer(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8620 * @param json The input JSON file. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8621 * @param pixelData The image. Can be NULL, if the pixel data is encoded inside the JSON with the data URI scheme. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8622 * @param flags Flags governing the output. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8623 * @param privateCreator The private creator to be used for the private DICOM tags. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8624 * Check out the global configuration option "Dictionary" of Orthanc. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8625 * @return 0 if success, other value if error. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8626 * @ingroup Toolbox |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8627 * @see OrthancPluginCreateDicom |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8628 * @see OrthancPluginDicomBufferToJson |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8629 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8630 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginCreateDicom2( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8631 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8632 OrthancPluginMemoryBuffer* target, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8633 const char* json, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8634 const OrthancPluginImage* pixelData, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8635 OrthancPluginCreateDicomFlags flags, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8636 const char* privateCreator) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8637 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8638 _OrthancPluginCreateDicom2 params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8639 params.createDicom.target = target; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8640 params.createDicom.json = json; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8641 params.createDicom.pixelData = pixelData; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8642 params.createDicom.flags = flags; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8643 params.privateCreator = privateCreator; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8644 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8645 return context->InvokeService(context, _OrthancPluginService_CreateDicom2, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8646 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8647 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8648 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8649 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8650 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8651 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8652 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8653 typedef struct |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8654 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8655 OrthancPluginMemoryBuffer* answerBody; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8656 OrthancPluginMemoryBuffer* answerHeaders; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8657 uint16_t* httpStatus; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8658 OrthancPluginHttpMethod method; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8659 const char* uri; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8660 uint32_t headersCount; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8661 const char* const* headersKeys; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8662 const char* const* headersValues; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8663 const void* body; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8664 uint32_t bodySize; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8665 uint8_t afterPlugins; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8666 } _OrthancPluginCallRestApi; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8667 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8668 /** |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8669 * @brief Call the REST API of Orthanc with full flexibility. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8670 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8671 * Make a call to the given URI in the REST API of Orthanc. The |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8672 * result to the query is stored into a newly allocated memory |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8673 * buffer. This function is always granted full access to the REST |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8674 * API (no credentials, nor security token is needed). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8675 * |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8676 * @param context The Orthanc plugin context, as received by OrthancPluginInitialize(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8677 * @param answerBody The target memory buffer (out argument). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8678 * It must be freed with OrthancPluginFreeMemoryBuffer(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8679 * The value of this argument is ignored if the HTTP method is DELETE. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8680 * @param answerHeaders The target memory buffer for the HTTP headers in the answer (out argument). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8681 * The answer headers are formatted as a JSON object (associative array). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8682 * The buffer must be freed with OrthancPluginFreeMemoryBuffer(). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8683 * This argument can be set to NULL if the plugin has no interest in the answer HTTP headers. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8684 * @param httpStatus The HTTP status after the execution of the request (out argument). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8685 * @param method HTTP method to be used. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8686 * @param uri The URI of interest. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8687 * @param headersCount The number of HTTP headers. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8688 * @param headersKeys Array containing the keys of the HTTP headers (can be <tt>NULL</tt> if no header). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8689 * @param headersValues Array containing the values of the HTTP headers (can be <tt>NULL</tt> if no header). |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8690 * @param body The HTTP body for a POST or PUT request. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8691 * @param bodySize The size of the body. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8692 * @param afterPlugins If 0, the built-in API of Orthanc is used. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8693 * If 1, the API is tainted by the plugins. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8694 * @return 0 if success, or the error code if failure. |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8695 * @see OrthancPluginRestApiGet2, OrthancPluginRestApiPost, OrthancPluginRestApiPut, OrthancPluginRestApiDelete |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8696 * @ingroup Orthanc |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8697 **/ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8698 ORTHANC_PLUGIN_INLINE OrthancPluginErrorCode OrthancPluginCallRestApi( |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8699 OrthancPluginContext* context, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8700 OrthancPluginMemoryBuffer* answerBody, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8701 OrthancPluginMemoryBuffer* answerHeaders, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8702 uint16_t* httpStatus, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8703 OrthancPluginHttpMethod method, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8704 const char* uri, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8705 uint32_t headersCount, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8706 const char* const* headersKeys, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8707 const char* const* headersValues, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8708 const void* body, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8709 uint32_t bodySize, |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8710 uint8_t afterPlugins) |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8711 { |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8712 _OrthancPluginCallRestApi params; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8713 memset(¶ms, 0, sizeof(params)); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8714 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8715 params.answerBody = answerBody; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8716 params.answerHeaders = answerHeaders; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8717 params.httpStatus = httpStatus; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8718 params.method = method; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8719 params.uri = uri; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8720 params.headersCount = headersCount; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8721 params.headersKeys = headersKeys; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8722 params.headersValues = headersValues; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8723 params.body = body; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8724 params.bodySize = bodySize; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8725 params.afterPlugins = afterPlugins; |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8726 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8727 return context->InvokeService(context, _OrthancPluginService_CallRestApi, ¶ms); |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8728 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8729 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8730 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8731 #ifdef __cplusplus |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8732 } |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8733 #endif |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8734 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8735 |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8736 /** @} */ |
461dfb859ac7
upgrade to Orthanc SDK 1.10.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8737 |