Mercurial > hg > orthanc-python
comparison Sources/Autogenerated/sdk_OrthancPluginDicomInstance.impl.h @ 1:fef9a239df5c
adding auto-generated files
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 26 Mar 2020 18:50:10 +0100 |
parents | |
children | b2bbb516056e |
comparison
equal
deleted
inserted
replaced
0:7ed502b17b8f | 1:fef9a239df5c |
---|---|
1 /** | |
2 * Python plugin for Orthanc | |
3 * Copyright (C) 2017-2020 Osimis S.A., Belgium | |
4 * | |
5 * This program is free software: you can redistribute it and/or | |
6 * modify it under the terms of the GNU Affero General Public License | |
7 * as published by the Free Software Foundation, either version 3 of | |
8 * the License, or (at your option) any later version. | |
9 * | |
10 * This program is distributed in the hope that it will be useful, but | |
11 * WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
13 * Affero General Public License for more details. | |
14 * | |
15 * You should have received a copy of the GNU Affero General Public License | |
16 * along with this program. If not, see <http://www.gnu.org/licenses/>. | |
17 **/ | |
18 | |
19 | |
20 typedef struct | |
21 { | |
22 PyObject_HEAD | |
23 | |
24 /* Type-specific fields go here. */ | |
25 OrthancPluginDicomInstance* object_; | |
26 bool borrowed_; | |
27 } sdk_OrthancPluginDicomInstance_Object; | |
28 | |
29 | |
30 | |
31 // Forward declaration of the methods | |
32 static PyObject *sdk_OrthancPluginDicomInstance_OrthancPluginGetInstanceRemoteAet( | |
33 sdk_OrthancPluginDicomInstance_Object* self, PyObject *args); | |
34 static PyObject *sdk_OrthancPluginDicomInstance_OrthancPluginGetInstanceSize( | |
35 sdk_OrthancPluginDicomInstance_Object* self, PyObject *args); | |
36 static PyObject *sdk_OrthancPluginDicomInstance_OrthancPluginGetInstanceJson( | |
37 sdk_OrthancPluginDicomInstance_Object* self, PyObject *args); | |
38 static PyObject *sdk_OrthancPluginDicomInstance_OrthancPluginGetInstanceSimplifiedJson( | |
39 sdk_OrthancPluginDicomInstance_Object* self, PyObject *args); | |
40 static PyObject *sdk_OrthancPluginDicomInstance_OrthancPluginHasInstanceMetadata( | |
41 sdk_OrthancPluginDicomInstance_Object* self, PyObject *args); | |
42 static PyObject *sdk_OrthancPluginDicomInstance_OrthancPluginGetInstanceMetadata( | |
43 sdk_OrthancPluginDicomInstance_Object* self, PyObject *args); | |
44 static PyObject *sdk_OrthancPluginDicomInstance_OrthancPluginGetInstanceOrigin( | |
45 sdk_OrthancPluginDicomInstance_Object* self, PyObject *args); | |
46 | |
47 | |
48 static PyMethodDef sdk_OrthancPluginDicomInstance_Methods[] = { | |
49 { "GetInstanceRemoteAet", | |
50 (PyCFunction) sdk_OrthancPluginDicomInstance_OrthancPluginGetInstanceRemoteAet, METH_VARARGS, | |
51 "Generated from C function OrthancPluginGetInstanceRemoteAet()" }, | |
52 { "GetInstanceSize", | |
53 (PyCFunction) sdk_OrthancPluginDicomInstance_OrthancPluginGetInstanceSize, METH_VARARGS, | |
54 "Generated from C function OrthancPluginGetInstanceSize()" }, | |
55 { "GetInstanceJson", | |
56 (PyCFunction) sdk_OrthancPluginDicomInstance_OrthancPluginGetInstanceJson, METH_VARARGS, | |
57 "Generated from C function OrthancPluginGetInstanceJson()" }, | |
58 { "GetInstanceSimplifiedJson", | |
59 (PyCFunction) sdk_OrthancPluginDicomInstance_OrthancPluginGetInstanceSimplifiedJson, METH_VARARGS, | |
60 "Generated from C function OrthancPluginGetInstanceSimplifiedJson()" }, | |
61 { "HasInstanceMetadata", | |
62 (PyCFunction) sdk_OrthancPluginDicomInstance_OrthancPluginHasInstanceMetadata, METH_VARARGS, | |
63 "Generated from C function OrthancPluginHasInstanceMetadata()" }, | |
64 { "GetInstanceMetadata", | |
65 (PyCFunction) sdk_OrthancPluginDicomInstance_OrthancPluginGetInstanceMetadata, METH_VARARGS, | |
66 "Generated from C function OrthancPluginGetInstanceMetadata()" }, | |
67 { "GetInstanceOrigin", | |
68 (PyCFunction) sdk_OrthancPluginDicomInstance_OrthancPluginGetInstanceOrigin, METH_VARARGS, | |
69 "Generated from C function OrthancPluginGetInstanceOrigin()" }, | |
70 { NULL } /* Sentinel */ | |
71 }; | |
72 | |
73 | |
74 static int sdk_OrthancPluginDicomInstance_Constructor( | |
75 sdk_OrthancPluginDicomInstance_Object *self, PyObject *args, PyObject *kwds) | |
76 { | |
77 OrthancPlugins::LogInfo("Creating Python object of class OrthancPluginDicomInstance"); | |
78 | |
79 self->object_ = NULL; | |
80 self->borrowed_ = false; | |
81 | |
82 long long object = 0; | |
83 unsigned char borrowed = false; | |
84 | |
85 if (PyArg_ParseTuple(args, "Lb", &object, &borrowed)) | |
86 { | |
87 self->object_ = reinterpret_cast<OrthancPluginDicomInstance*>(static_cast<intptr_t>(object)); | |
88 self->borrowed_ = borrowed; | |
89 return 0; | |
90 } | |
91 else | |
92 { | |
93 PyErr_SetString(PyExc_ValueError, "Expected a pair (pointer, borrowed) in the constructor"); | |
94 return -1; | |
95 } | |
96 } | |
97 | |
98 | |
99 /** | |
100 * Static global structure => the fields that are beyond the last | |
101 * initialized field are set to zero. | |
102 * https://stackoverflow.com/a/11152199/881731 | |
103 **/ | |
104 static PyTypeObject sdk_OrthancPluginDicomInstance_Type = { | |
105 PyVarObject_HEAD_INIT(NULL, 0) | |
106 "orthanc.DicomInstance", /* tp_name */ | |
107 sizeof(sdk_OrthancPluginDicomInstance_Object), /* tp_basicsize */ | |
108 }; | |
109 | |
110 | |
111 | |
112 | |
113 // Actual implementation of the methods | |
114 static PyObject *sdk_OrthancPluginDicomInstance_OrthancPluginGetInstanceRemoteAet( | |
115 sdk_OrthancPluginDicomInstance_Object* self, PyObject *args) | |
116 { | |
117 OrthancPlugins::LogInfo("Calling method OrthancPluginGetInstanceRemoteAet() on object of class OrthancPluginDicomInstance"); | |
118 | |
119 if (self->object_ == NULL) | |
120 { | |
121 // TODO: RAISE | |
122 //PythonLock::RaiseException(module, OrthancPluginErrorCode_NullPointer); | |
123 PyErr_SetString(PyExc_ValueError, "Invalid object"); | |
124 return NULL; | |
125 } | |
126 | |
127 | |
128 const char* s = OrthancPluginGetInstanceRemoteAet(OrthancPlugins::GetGlobalContext(), self->object_); | |
129 | |
130 if (s == NULL) | |
131 { | |
132 Py_INCREF(Py_None); | |
133 return Py_None; | |
134 } | |
135 else | |
136 { | |
137 return PyUnicode_FromString(s); | |
138 } | |
139 } | |
140 | |
141 static PyObject *sdk_OrthancPluginDicomInstance_OrthancPluginGetInstanceSize( | |
142 sdk_OrthancPluginDicomInstance_Object* self, PyObject *args) | |
143 { | |
144 OrthancPlugins::LogInfo("Calling method OrthancPluginGetInstanceSize() on object of class OrthancPluginDicomInstance"); | |
145 | |
146 if (self->object_ == NULL) | |
147 { | |
148 // TODO: RAISE | |
149 //PythonLock::RaiseException(module, OrthancPluginErrorCode_NullPointer); | |
150 PyErr_SetString(PyExc_ValueError, "Invalid object"); | |
151 return NULL; | |
152 } | |
153 | |
154 | |
155 long value = OrthancPluginGetInstanceSize(OrthancPlugins::GetGlobalContext(), self->object_); | |
156 | |
157 return PyLong_FromLong(value); | |
158 } | |
159 | |
160 static PyObject *sdk_OrthancPluginDicomInstance_OrthancPluginGetInstanceJson( | |
161 sdk_OrthancPluginDicomInstance_Object* self, PyObject *args) | |
162 { | |
163 OrthancPlugins::LogInfo("Calling method OrthancPluginGetInstanceJson() on object of class OrthancPluginDicomInstance"); | |
164 | |
165 if (self->object_ == NULL) | |
166 { | |
167 // TODO: RAISE | |
168 //PythonLock::RaiseException(module, OrthancPluginErrorCode_NullPointer); | |
169 PyErr_SetString(PyExc_ValueError, "Invalid object"); | |
170 return NULL; | |
171 } | |
172 | |
173 | |
174 OrthancPlugins::OrthancString s; | |
175 s.Assign(OrthancPluginGetInstanceJson(OrthancPlugins::GetGlobalContext(), self->object_)); | |
176 | |
177 if (s.GetContent() == NULL) | |
178 { | |
179 // TODO => RAISE : https://stackoverflow.com/questions/60832317 | |
180 //PythonLock::RaiseException(module, OrthancPluginErrorCode_InternalError); | |
181 PyErr_SetString(PyExc_ValueError, "Internal error"); | |
182 return NULL; | |
183 } | |
184 else | |
185 { | |
186 return PyUnicode_FromString(s.GetContent()); | |
187 } | |
188 } | |
189 | |
190 static PyObject *sdk_OrthancPluginDicomInstance_OrthancPluginGetInstanceSimplifiedJson( | |
191 sdk_OrthancPluginDicomInstance_Object* self, PyObject *args) | |
192 { | |
193 OrthancPlugins::LogInfo("Calling method OrthancPluginGetInstanceSimplifiedJson() on object of class OrthancPluginDicomInstance"); | |
194 | |
195 if (self->object_ == NULL) | |
196 { | |
197 // TODO: RAISE | |
198 //PythonLock::RaiseException(module, OrthancPluginErrorCode_NullPointer); | |
199 PyErr_SetString(PyExc_ValueError, "Invalid object"); | |
200 return NULL; | |
201 } | |
202 | |
203 | |
204 OrthancPlugins::OrthancString s; | |
205 s.Assign(OrthancPluginGetInstanceSimplifiedJson(OrthancPlugins::GetGlobalContext(), self->object_)); | |
206 | |
207 if (s.GetContent() == NULL) | |
208 { | |
209 // TODO => RAISE : https://stackoverflow.com/questions/60832317 | |
210 //PythonLock::RaiseException(module, OrthancPluginErrorCode_InternalError); | |
211 PyErr_SetString(PyExc_ValueError, "Internal error"); | |
212 return NULL; | |
213 } | |
214 else | |
215 { | |
216 return PyUnicode_FromString(s.GetContent()); | |
217 } | |
218 } | |
219 | |
220 static PyObject *sdk_OrthancPluginDicomInstance_OrthancPluginHasInstanceMetadata( | |
221 sdk_OrthancPluginDicomInstance_Object* self, PyObject *args) | |
222 { | |
223 OrthancPlugins::LogInfo("Calling method OrthancPluginHasInstanceMetadata() on object of class OrthancPluginDicomInstance"); | |
224 | |
225 if (self->object_ == NULL) | |
226 { | |
227 // TODO: RAISE | |
228 //PythonLock::RaiseException(module, OrthancPluginErrorCode_NullPointer); | |
229 PyErr_SetString(PyExc_ValueError, "Invalid object"); | |
230 return NULL; | |
231 } | |
232 | |
233 const char* arg0 = NULL; | |
234 | |
235 if (!PyArg_ParseTuple(args, "s", &arg0)) | |
236 { | |
237 // TODO => RAISE : https://stackoverflow.com/questions/60832317 | |
238 PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (1 arguments expected)"); | |
239 return NULL; | |
240 } | |
241 long value = OrthancPluginHasInstanceMetadata(OrthancPlugins::GetGlobalContext(), self->object_, arg0); | |
242 | |
243 return PyLong_FromLong(value); | |
244 } | |
245 | |
246 static PyObject *sdk_OrthancPluginDicomInstance_OrthancPluginGetInstanceMetadata( | |
247 sdk_OrthancPluginDicomInstance_Object* self, PyObject *args) | |
248 { | |
249 OrthancPlugins::LogInfo("Calling method OrthancPluginGetInstanceMetadata() on object of class OrthancPluginDicomInstance"); | |
250 | |
251 if (self->object_ == NULL) | |
252 { | |
253 // TODO: RAISE | |
254 //PythonLock::RaiseException(module, OrthancPluginErrorCode_NullPointer); | |
255 PyErr_SetString(PyExc_ValueError, "Invalid object"); | |
256 return NULL; | |
257 } | |
258 | |
259 const char* arg0 = NULL; | |
260 | |
261 if (!PyArg_ParseTuple(args, "s", &arg0)) | |
262 { | |
263 // TODO => RAISE : https://stackoverflow.com/questions/60832317 | |
264 PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (1 arguments expected)"); | |
265 return NULL; | |
266 } | |
267 const char* s = OrthancPluginGetInstanceMetadata(OrthancPlugins::GetGlobalContext(), self->object_, arg0); | |
268 | |
269 if (s == NULL) | |
270 { | |
271 Py_INCREF(Py_None); | |
272 return Py_None; | |
273 } | |
274 else | |
275 { | |
276 return PyUnicode_FromString(s); | |
277 } | |
278 } | |
279 | |
280 static PyObject *sdk_OrthancPluginDicomInstance_OrthancPluginGetInstanceOrigin( | |
281 sdk_OrthancPluginDicomInstance_Object* self, PyObject *args) | |
282 { | |
283 OrthancPlugins::LogInfo("Calling method OrthancPluginGetInstanceOrigin() on object of class OrthancPluginDicomInstance"); | |
284 | |
285 if (self->object_ == NULL) | |
286 { | |
287 // TODO: RAISE | |
288 //PythonLock::RaiseException(module, OrthancPluginErrorCode_NullPointer); | |
289 PyErr_SetString(PyExc_ValueError, "Invalid object"); | |
290 return NULL; | |
291 } | |
292 | |
293 | |
294 OrthancPluginInstanceOrigin value = OrthancPluginGetInstanceOrigin(OrthancPlugins::GetGlobalContext(), self->object_); | |
295 | |
296 return PyLong_FromLong(value); | |
297 } | |
298 | |
299 | |
300 | |
301 static void RegisterOrthancPluginDicomInstanceClass(PyObject* module) | |
302 { | |
303 sdk_OrthancPluginDicomInstance_Type.tp_new = PyType_GenericNew; | |
304 sdk_OrthancPluginDicomInstance_Type.tp_flags = Py_TPFLAGS_DEFAULT; | |
305 sdk_OrthancPluginDicomInstance_Type.tp_doc = "Generated from Orthanc C class: OrthancPluginDicomInstance"; | |
306 sdk_OrthancPluginDicomInstance_Type.tp_methods = sdk_OrthancPluginDicomInstance_Methods; | |
307 sdk_OrthancPluginDicomInstance_Type.tp_init = (initproc) sdk_OrthancPluginDicomInstance_Constructor; | |
308 | |
309 | |
310 if (PyType_Ready(&sdk_OrthancPluginDicomInstance_Type) < 0) | |
311 { | |
312 OrthancPlugins::LogError("Cannot register Python class: OrthancPluginDicomInstance"); | |
313 ORTHANC_PLUGINS_THROW_EXCEPTION(InternalError); | |
314 } | |
315 | |
316 Py_INCREF(&sdk_OrthancPluginDicomInstance_Type); | |
317 if (PyModule_AddObject(module, "DicomInstance", (PyObject *)&sdk_OrthancPluginDicomInstance_Type) < 0) | |
318 { | |
319 OrthancPlugins::LogError("Cannot register Python class: OrthancPluginDicomInstance"); | |
320 Py_DECREF(&sdk_OrthancPluginDicomInstance_Type); | |
321 ORTHANC_PLUGINS_THROW_EXCEPTION(InternalError); | |
322 } | |
323 } | |
324 | |
325 | |
326 PyObject* GetOrthancPluginDicomInstanceType() | |
327 { | |
328 return (PyObject*) &sdk_OrthancPluginDicomInstance_Type; | |
329 } |