summaryrefslogtreecommitdiff
path: root/source4/scripting/swig/dcerpc.i
diff options
context:
space:
mode:
Diffstat (limited to 'source4/scripting/swig/dcerpc.i')
-rw-r--r--source4/scripting/swig/dcerpc.i28
1 files changed, 26 insertions, 2 deletions
diff --git a/source4/scripting/swig/dcerpc.i b/source4/scripting/swig/dcerpc.i
index 6130f85a60..c843ec3c36 100644
--- a/source4/scripting/swig/dcerpc.i
+++ b/source4/scripting/swig/dcerpc.i
@@ -50,6 +50,26 @@ void set_ntstatus_exception(int status)
PyErr_SetObject(ntstatus_exception, obj);
}
+char *get_string_property(PyObject *dict, char *key)
+{
+ PyObject *item = PyDict_GetItem(dict, PyString_FromString(key));
+
+ if (!item)
+ return 0; /* TODO: throw exception */
+
+ return PyString_AsString(item);
+}
+
+uint32 get_uint32_property(PyObject *dict, char *key)
+{
+ PyObject *item = PyDict_GetItem(dict, PyString_FromString(key));
+
+ if (!item)
+ return 0; /* TODO: throw exception */
+
+ return (uint32)PyInt_AsLong(item);
+}
+
%}
%include "samba.i"
@@ -61,8 +81,12 @@ void set_ntstatus_exception(int status)
ntstatus_exception = PyErr_NewException("dcerpc.NTSTATUS", NULL, NULL);
%}
-%typemap(in, numinputs=0) struct dcerpc_pipe **OUT (struct dcerpc_pipe *temp) {
- $1 = &temp;
+%typemap(in, numinputs=0) struct dcerpc_pipe **OUT (struct dcerpc_pipe *temp_dcerpc_pipe) {
+ $1 = &temp_dcerpc_pipe;
+}
+
+%typemap(in, numinputs=0) TALLOC_CTX * {
+ $1 = talloc_init("foo");
}
%typemap(argout) struct dcerpc_pipe ** {