From 87054a53556e88209e6f8368085c4ec882c7d5a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=BCnther=20Deschner?= Date: Mon, 7 Apr 2014 15:47:02 +0200 Subject: pidl/python: support HRESULT errors in generated python bindings. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Guenther Signed-off-by: Günther Deschner Reviewed-by: Stefan Metzmacher --- pidl/lib/Parse/Pidl/Samba4/Python.pm | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'pidl') diff --git a/pidl/lib/Parse/Pidl/Samba4/Python.pm b/pidl/lib/Parse/Pidl/Samba4/Python.pm index 920d10acadc..91201bbd1f1 100644 --- a/pidl/lib/Parse/Pidl/Samba4/Python.pm +++ b/pidl/lib/Parse/Pidl/Samba4/Python.pm @@ -1059,6 +1059,11 @@ sub ConvertObjectFromPythonData($$$$$$;$) return; } + if ($actual_ctype->{TYPE} eq "SCALAR" and $actual_ctype->{NAME} eq "HRESULT") { + $self->pidl("$target = HRES_ERROR(PyInt_AsLong($cvar));"); + return; + } + if ($actual_ctype->{TYPE} eq "SCALAR" and $actual_ctype->{NAME} eq "string_array") { $self->pidl("$target = PyCObject_AsVoidPtr($cvar);"); return; @@ -1212,6 +1217,10 @@ sub ConvertScalarToPython($$$) return "PyErr_FromWERROR($cvar)"; } + if ($ctypename eq "HRESULT") { + return "PyErr_FromHRESULT($cvar)"; + } + if (($ctypename eq "string" or $ctypename eq "nbt_string" or $ctypename eq "nbt_name" or $ctypename eq "wrepl_nbt_name")) { return "PyString_FromStringOrNULL($cvar)"; } -- cgit v1.2.1