diff options
author | Tim Potter <tpot@samba.org> | 2004-10-16 00:19:33 +0000 |
---|---|---|
committer | Tim Potter <tpot@samba.org> | 2004-10-16 00:19:33 +0000 |
commit | e3c0ea2d6320a99cd060c80df471dba1df98f5b2 (patch) | |
tree | b810661fa6fc4bd66037b8a7f7604b540da50c24 /source/scripting/swig | |
parent | 144397a61a2dc57ee79871b8c2bd140db8e86310 (diff) | |
download | samba-e3c0ea2d6320a99cd060c80df471dba1df98f5b2.tar.gz samba-e3c0ea2d6320a99cd060c80df471dba1df98f5b2.tar.xz samba-e3c0ea2d6320a99cd060c80df471dba1df98f5b2.zip |
r3001: Expose unmarshalling functions for structures marked "public" in the
idl. This allows us to pass a buffer of bytes returned from a spoolss
call and convert it to a Python dictionary. Works for enumprinters level
1!
Diffstat (limited to 'source/scripting/swig')
-rw-r--r-- | source/scripting/swig/dcerpc.i | 6 | ||||
-rw-r--r-- | source/scripting/swig/torture/spoolss.py | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/source/scripting/swig/dcerpc.i b/source/scripting/swig/dcerpc.i index ab53a1dc51e..1222d54766d 100644 --- a/source/scripting/swig/dcerpc.i +++ b/source/scripting/swig/dcerpc.i @@ -346,6 +346,12 @@ NTSTATUS dcerpc_pipe_connect(struct dcerpc_pipe **OUT, const char *username, const char *password); +%typemap(in) DATA_BLOB * (DATA_BLOB temp_data_blob) { + temp_data_blob.data = PyString_AsString($input); + temp_data_blob.length = PyString_Size($input); + $1 = &temp_data_blob; +} + %include "librpc/gen_ndr/misc.i" %include "librpc/gen_ndr/lsa.i" %include "librpc/gen_ndr/samr.i" diff --git a/source/scripting/swig/torture/spoolss.py b/source/scripting/swig/torture/spoolss.py index 78d573a7cd0..e29178a0b60 100644 --- a/source/scripting/swig/torture/spoolss.py +++ b/source/scripting/swig/torture/spoolss.py @@ -11,7 +11,7 @@ def test_EnumPrinters(pipe): result = dcerpc.spoolss_EnumPrinters(pipe, r) - print result + print dcerpc.unmarshall_spoolss_PrinterInfo1(result['buffer']) def runtests(binding, domain, username, password): |