Mercurial > hg > orthanc-python
annotate Sources/Autogenerated/sdk_OrthancPluginIdentifierConstraint.impl.h @ 128:5b59ebc267e1 fix-leak
fixed leaks in the initialization of the enums
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 30 Aug 2023 11:02:20 +0200 |
parents | eb6ac5a801d1 |
children | c55b0583084b |
rev | line source |
---|---|
1
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1 /** |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2 * Python plugin for Orthanc |
101 | 3 * Copyright (C) 2020-2022 Osimis S.A., Belgium |
4 * Copyright (C) 2021-2022 Sebastien Jodogne, ICTEAM UCLouvain, Belgium | |
1
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5 * |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6 * This program is free software: you can redistribute it and/or |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7 * modify it under the terms of the GNU Affero General Public License |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8 * as published by the Free Software Foundation, either version 3 of |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
9 * the License, or (at your option) any later version. |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
10 * |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
11 * This program is distributed in the hope that it will be useful, but |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
12 * WITHOUT ANY WARRANTY; without even the implied warranty of |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
14 * Affero General Public License for more details. |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
15 * |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
16 * You should have received a copy of the GNU Affero General Public License |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
17 * along with this program. If not, see <http://www.gnu.org/licenses/>. |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
18 **/ |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
19 |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
20 |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
21 typedef struct |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
22 { |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
23 PyObject_HEAD |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
24 } sdk_OrthancPluginIdentifierConstraint_Object; |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
25 |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
26 |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
27 /** |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
28 * Static global structure => the fields that are beyond the last |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
29 * initialized field are set to zero. |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
30 * https://stackoverflow.com/a/11152199/881731 |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
31 **/ |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
32 static PyTypeObject sdk_OrthancPluginIdentifierConstraint_Type = { |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
33 PyVarObject_HEAD_INIT(NULL, 0) |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
34 "orthanc.IdentifierConstraint", /* tp_name */ |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
35 sizeof(sdk_OrthancPluginIdentifierConstraint_Object), /* tp_basicsize */ |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
36 }; |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
37 |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
38 |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
39 void RegisterOrthancPluginIdentifierConstraintEnumeration(PyObject* module) |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
40 { |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
41 sdk_OrthancPluginIdentifierConstraint_Type.tp_new = PyType_GenericNew; |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
42 sdk_OrthancPluginIdentifierConstraint_Type.tp_flags = Py_TPFLAGS_DEFAULT; |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
43 sdk_OrthancPluginIdentifierConstraint_Type.tp_doc = "Generated from C enumeration OrthancPluginOrthancPluginIdentifierConstraint"; |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
44 |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
45 sdk_OrthancPluginIdentifierConstraint_Type.tp_dict = PyDict_New(); |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
46 |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
47 if (PyType_Ready(&sdk_OrthancPluginIdentifierConstraint_Type) < 0) |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
48 { |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
49 OrthancPlugins::LogError("Cannot register Python enumeration: OrthancPluginIdentifierConstraint"); |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
50 ORTHANC_PLUGINS_THROW_EXCEPTION(InternalError); |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
51 } |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
52 |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
53 /** |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
54 * Declare constants here (static members = class attributes) |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
55 * https://stackoverflow.com/a/8017906/881731 |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
56 * |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
57 * "Static and class methods can be defined in tp_methods by adding |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
58 * METH_STATIC or METH_CLASS to the ml_flags field of the |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
59 * PyMethodDef structure. This is equivalent to @staticmethod and |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
60 * @classmethod decorators." |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
61 * |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
62 * "Class attributes can be added by setting the tp_dict to a |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
63 * dictionary with these attributes before calling PyType_Ready() |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
64 * (in your module initialization function)." |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
65 **/ |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
66 |
128
5b59ebc267e1
fixed leaks in the initialization of the enums
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
101
diff
changeset
|
67 { |
5b59ebc267e1
fixed leaks in the initialization of the enums
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
101
diff
changeset
|
68 PyObject* tmp = PyLong_FromLong(1); |
5b59ebc267e1
fixed leaks in the initialization of the enums
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
101
diff
changeset
|
69 PyDict_SetItemString(sdk_OrthancPluginIdentifierConstraint_Type.tp_dict, "EQUAL", tmp); |
5b59ebc267e1
fixed leaks in the initialization of the enums
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
101
diff
changeset
|
70 Py_DECREF(tmp); |
5b59ebc267e1
fixed leaks in the initialization of the enums
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
101
diff
changeset
|
71 } |
5b59ebc267e1
fixed leaks in the initialization of the enums
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
101
diff
changeset
|
72 |
5b59ebc267e1
fixed leaks in the initialization of the enums
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
101
diff
changeset
|
73 { |
5b59ebc267e1
fixed leaks in the initialization of the enums
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
101
diff
changeset
|
74 PyObject* tmp = PyLong_FromLong(2); |
5b59ebc267e1
fixed leaks in the initialization of the enums
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
101
diff
changeset
|
75 PyDict_SetItemString(sdk_OrthancPluginIdentifierConstraint_Type.tp_dict, "SMALLER_OR_EQUAL", tmp); |
5b59ebc267e1
fixed leaks in the initialization of the enums
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
101
diff
changeset
|
76 Py_DECREF(tmp); |
5b59ebc267e1
fixed leaks in the initialization of the enums
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
101
diff
changeset
|
77 } |
5b59ebc267e1
fixed leaks in the initialization of the enums
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
101
diff
changeset
|
78 |
5b59ebc267e1
fixed leaks in the initialization of the enums
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
101
diff
changeset
|
79 { |
5b59ebc267e1
fixed leaks in the initialization of the enums
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
101
diff
changeset
|
80 PyObject* tmp = PyLong_FromLong(3); |
5b59ebc267e1
fixed leaks in the initialization of the enums
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
101
diff
changeset
|
81 PyDict_SetItemString(sdk_OrthancPluginIdentifierConstraint_Type.tp_dict, "GREATER_OR_EQUAL", tmp); |
5b59ebc267e1
fixed leaks in the initialization of the enums
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
101
diff
changeset
|
82 Py_DECREF(tmp); |
5b59ebc267e1
fixed leaks in the initialization of the enums
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
101
diff
changeset
|
83 } |
5b59ebc267e1
fixed leaks in the initialization of the enums
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
101
diff
changeset
|
84 |
5b59ebc267e1
fixed leaks in the initialization of the enums
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
101
diff
changeset
|
85 { |
5b59ebc267e1
fixed leaks in the initialization of the enums
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
101
diff
changeset
|
86 PyObject* tmp = PyLong_FromLong(4); |
5b59ebc267e1
fixed leaks in the initialization of the enums
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
101
diff
changeset
|
87 PyDict_SetItemString(sdk_OrthancPluginIdentifierConstraint_Type.tp_dict, "WILDCARD", tmp); |
5b59ebc267e1
fixed leaks in the initialization of the enums
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
101
diff
changeset
|
88 Py_DECREF(tmp); |
5b59ebc267e1
fixed leaks in the initialization of the enums
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
101
diff
changeset
|
89 } |
5b59ebc267e1
fixed leaks in the initialization of the enums
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
101
diff
changeset
|
90 |
1
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
91 |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
92 Py_INCREF(&sdk_OrthancPluginIdentifierConstraint_Type); |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
93 if (PyModule_AddObject(module, "IdentifierConstraint", (PyObject *)&sdk_OrthancPluginIdentifierConstraint_Type) < 0) |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
94 { |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
95 OrthancPlugins::LogError("Cannot register Python enumeration: OrthancPluginIdentifierConstraint"); |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
96 Py_DECREF(&sdk_OrthancPluginIdentifierConstraint_Type); |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
97 ORTHANC_PLUGINS_THROW_EXCEPTION(InternalError); |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
98 } |
fef9a239df5c
adding auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
99 } |