summaryrefslogtreecommitdiff
path: root/source4/pidl
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2008-05-24 21:02:56 +0200
committerJelmer Vernooij <jelmer@samba.org>2008-05-24 21:02:56 +0200
commit654be49c010949a0420412450971effdbd4ce585 (patch)
tree2e5ff21e5e63add798d324cb3057f15843f3be91 /source4/pidl
parent515b6ed5867bba8180bd0eeadbeab1c52bffc0ab (diff)
downloadsamba-654be49c010949a0420412450971effdbd4ce585.tar.gz
samba-654be49c010949a0420412450971effdbd4ce585.tar.bz2
samba-654be49c010949a0420412450971effdbd4ce585.zip
Use manually written Python bindings for DCE/RPC rather than SWIG based.
Use base class for pidl-generated DCE/RPC interface Python bindings. (This used to be commit 25e7fc8a2c7a5914c4db4bfe428fd0a8efbf0784)
Diffstat (limited to 'source4/pidl')
-rw-r--r--source4/pidl/lib/Parse/Pidl/Samba4/Python.pm12
1 files changed, 1 insertions, 11 deletions
diff --git a/source4/pidl/lib/Parse/Pidl/Samba4/Python.pm b/source4/pidl/lib/Parse/Pidl/Samba4/Python.pm
index dea8f2c648..f252dd4f27 100644
--- a/source4/pidl/lib/Parse/Pidl/Samba4/Python.pm
+++ b/source4/pidl/lib/Parse/Pidl/Samba4/Python.pm
@@ -636,16 +636,6 @@ sub Interface($$$)
$self->pidl("};");
$self->pidl("");
- $self->pidl("static void interface_$interface->{NAME}_dealloc(PyObject* self)");
- $self->pidl("{");
- $self->indent;
- $self->pidl("dcerpc_InterfaceObject *interface = (dcerpc_InterfaceObject *)self;");
- $self->pidl("talloc_free(interface->pipe);");
- $self->pidl("PyObject_Del(self);");
- $self->deindent;
- $self->pidl("}");
- $self->pidl("");
-
$self->pidl("static PyObject *interface_$interface->{NAME}_new(PyTypeObject *self, PyObject *args, PyObject *kwargs)");
$self->pidl("{");
$self->indent;
@@ -726,7 +716,7 @@ sub Interface($$$)
$self->pidl("PyObject_HEAD_INIT(NULL) 0,");
$self->pidl(".tp_name = \"$basename.$interface->{NAME}\",");
$self->pidl(".tp_basicsize = sizeof(dcerpc_InterfaceObject),");
- $self->pidl(".tp_dealloc = interface_$interface->{NAME}_dealloc,");
+ $self->pidl(".tp_base = &dcerpc_InterfaceType,");
$self->pidl(".tp_methods = interface_$interface->{NAME}_methods,");
$self->pidl(".tp_doc = $docstring,");
$self->pidl(".tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,");