mirror of
https://github.com/samba-team/samba.git
synced 2024-12-23 17:34:34 +03:00
Create and use convenience function for creating new talloc-wrapping Python Objects, support subtypes of DCE/RPC interfaces properly
This commit is contained in:
parent
64419f47da
commit
c1a9b68623
@ -48,4 +48,6 @@ PyObject *py_talloc_import_ex(PyTypeObject *py_type, TALLOC_CTX *mem_ctx, void *
|
||||
/* Sane default implementation of reprfunc. */
|
||||
PyObject *py_talloc_default_repr(PyObject *py_obj);
|
||||
|
||||
#define py_talloc_new(type, typeobj) py_talloc_import(typeobj, talloc_zero(NULL, type))
|
||||
|
||||
#endif /* _PY_TALLOC_H_ */
|
||||
|
@ -224,8 +224,7 @@ sub PythonStruct($$$$$$)
|
||||
$self->pidl("static PyObject *py_$name\_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)");
|
||||
$self->pidl("{");
|
||||
$self->indent;
|
||||
$self->pidl("$cname *ret = talloc_zero(NULL, $cname);");
|
||||
$self->pidl("return py_talloc_import(type, ret);");
|
||||
$self->pidl("return py_talloc_new($cname, type);");
|
||||
$self->deindent;
|
||||
$self->pidl("}");
|
||||
$self->pidl("");
|
||||
@ -677,7 +676,7 @@ sub Interface($$$)
|
||||
$self->pidl("};");
|
||||
$self->pidl("");
|
||||
|
||||
$self->pidl("static PyObject *interface_$interface->{NAME}_new(PyTypeObject *self, PyObject *args, PyObject *kwargs)");
|
||||
$self->pidl("static PyObject *interface_$interface->{NAME}_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)");
|
||||
$self->pidl("{");
|
||||
$self->indent;
|
||||
$self->pidl("dcerpc_InterfaceObject *ret;");
|
||||
@ -728,7 +727,7 @@ sub Interface($$$)
|
||||
$self->deindent;
|
||||
$self->pidl("}");
|
||||
|
||||
$self->pidl("ret = PyObject_New(dcerpc_InterfaceObject, &$interface->{NAME}_InterfaceType);");
|
||||
$self->pidl("ret = PyObject_New(dcerpc_InterfaceObject, type);");
|
||||
$self->pidl("");
|
||||
$self->pidl("event_ctx = event_context_init(mem_ctx);");
|
||||
$self->pidl("");
|
||||
|
Loading…
Reference in New Issue
Block a user