comparison CodeAnalysis/Class.mustache @ 131:c55b0583084b

integration fix-leak->mainline
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 30 Aug 2023 11:52:45 +0200
parents 65ec5597ec70 5643e97d9367
children 71d305c29cfa
comparison
equal deleted inserted replaced
130:a3f77cf16396 131:c55b0583084b
103 Py_TYPE(self)->tp_free((PyObject *)self); 103 Py_TYPE(self)->tp_free((PyObject *)self);
104 } 104 }
105 {{/destructor}} 105 {{/destructor}}
106 106
107 107
108 // Actual implementation of the methods
109 {{#methods}}
110 static PyObject *sdk_{{class_name}}_{{c_function}}(
111 sdk_{{class_name}}_Object* self, PyObject *args)
112 {
113 PythonLock::LogCall("Calling method {{c_function}}() on object of class {{class_name}}");
114
115 if (self->object_ == NULL)
116 {
117 PyErr_SetString(PyExc_ValueError, "Invalid object");
118 return NULL;
119 }
120
121 {{> function_body}}
122 }
123
124 {{/methods}}
125
126
127 static void Register{{class_name}}Class(PyObject* module) 108 static void Register{{class_name}}Class(PyObject* module)
128 { 109 {
129 sdk_{{class_name}}_Type.tp_new = PyType_GenericNew; 110 sdk_{{class_name}}_Type.tp_new = PyType_GenericNew;
130 sdk_{{class_name}}_Type.tp_flags = Py_TPFLAGS_DEFAULT; 111 sdk_{{class_name}}_Type.tp_flags = Py_TPFLAGS_DEFAULT;
131 sdk_{{class_name}}_Type.tp_doc = "Generated from Orthanc C class: {{class_name}}"; 112 sdk_{{class_name}}_Type.tp_doc = "Generated from Orthanc C class: {{class_name}}";