diff options
author | Günther Deschner <gd@samba.org> | 2014-04-07 15:47:02 +0200 |
---|---|---|
committer | Günther Deschner <gd@samba.org> | 2015-03-13 23:58:07 +0100 |
commit | 87054a53556e88209e6f8368085c4ec882c7d5a3 (patch) | |
tree | 3f61746c90387c1586e40274874ff0e14d89c619 /pidl | |
parent | 9564a1f2958dc2d762a7506dc8c24fb9b7991274 (diff) | |
download | samba-87054a53556e88209e6f8368085c4ec882c7d5a3.tar.gz |
pidl/python: support HRESULT errors in generated python bindings.
Guenther
Signed-off-by: Günther Deschner <gd@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
Diffstat (limited to 'pidl')
-rw-r--r-- | pidl/lib/Parse/Pidl/Samba4/Python.pm | 9 |
1 files changed, 9 insertions, 0 deletions
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)"; } |