r26620: python: Allow not specifying event contexts, in which case a new context...
authorJelmer Vernooij <jelmer@samba.org>
Fri, 28 Dec 2007 22:25:05 +0000 (16:25 -0600)
committerStefan Metzmacher <metze@samba.org>
Fri, 28 Dec 2007 16:33:01 +0000 (10:33 -0600)
source/lib/events/events.i
source/lib/events/events.py
source/lib/events/events_wrap.c

index e2f3b788cb0501e225861a78d27f6be350395217..4b4d265e103124b30bc24057f5e17241a7ed9e80 100644 (file)
 
 %{
 #include "lib/events/events.h"
+typedef struct event_context event_context;
 %}
 
+%talloctype(event_context);
+typedef struct event_context {} event_context;
+
+%typemap(default,noblock=1) struct event_context * {
+    $1 = event_context_init(NULL);
+}
+
 struct event_context *event_context_init(TALLOC_CTX *mem_ctx);
 
 %typemap(default,noblock=1) struct event_context * {
index 1e41e2d7e7c8b09709f055b6b03e19e9db02d9fc..19494c60b3cfa5af8c1039b63c01bbcb24e1663e 100644 (file)
@@ -57,6 +57,14 @@ def _swig_setattr_nondynamic_method(set):
     return set_attr
 
 
+class event_context(object):
+    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    def __init__(self): raise AttributeError, "No constructor defined"
+    __repr__ = _swig_repr
+    __swig_destroy__ = _events.delete_event_context
+event_context_swigregister = _events.event_context_swigregister
+event_context_swigregister(event_context)
+
 event_context_init = _events.event_context_init
 event_context_init_byname = _events.event_context_init_byname
 event_backend_list = _events.event_backend_list
index c3eef44882aaf2d7e4cf8bab56db97d66bc65975..4a0685971ea28ec0a08d8e5809e85910287675a5 100644 (file)
@@ -2502,7 +2502,9 @@ static swig_module_info swig_module = {swig_types, 4, 0, 0, 0, 0};
 
 
 #include "lib/events/events.h"
+typedef struct event_context event_context;
 
+SWIGINTERN void delete_event_context(event_context *self){ talloc_free(self); }
 
 SWIGINTERN swig_type_info*
 SWIG_pchar_descriptor(void)
@@ -2574,6 +2576,36 @@ SWIG_AsCharPtrAndSize(PyObject *obj, char** cptr, size_t* psize, int *alloc)
 #ifdef __cplusplus
 extern "C" {
 #endif
+SWIGINTERN PyObject *_wrap_delete_event_context(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  event_context *arg1 = (event_context *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject *swig_obj[1] ;
+  
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_event_context, SWIG_POINTER_DISOWN |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_event_context" "', argument " "1"" of type '" "event_context *""'"); 
+  }
+  arg1 = (event_context *)(argp1);
+  delete_event_context(arg1);
+  
+  resultobj = SWIG_Py_Void();
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *event_context_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *obj;
+  if (!SWIG_Python_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL;
+  SWIG_TypeNewClientData(SWIGTYPE_p_event_context, SWIG_NewClientData(obj));
+  return SWIG_Py_Void();
+}
+
 SWIGINTERN PyObject *_wrap_event_context_init(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   TALLOC_CTX *arg1 = (TALLOC_CTX *) 0 ;
@@ -2635,6 +2667,8 @@ fail:
 
 
 static PyMethodDef SwigMethods[] = {
+        { (char *)"delete_event_context", (PyCFunction)_wrap_delete_event_context, METH_O, NULL},
+        { (char *)"event_context_swigregister", event_context_swigregister, METH_VARARGS, NULL},
         { (char *)"event_context_init", (PyCFunction)_wrap_event_context_init, METH_NOARGS, NULL},
         { (char *)"event_context_init_byname", (PyCFunction) _wrap_event_context_init_byname, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"event_backend_list", (PyCFunction)_wrap_event_backend_list, METH_NOARGS, NULL},
@@ -2646,7 +2680,7 @@ static PyMethodDef SwigMethods[] = {
 
 static swig_type_info _swigt__p_TALLOC_CTX = {"_p_TALLOC_CTX", "TALLOC_CTX *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_char = {"_p_char", "char *", 0, 0, (void*)0, 0};
-static swig_type_info _swigt__p_event_context = {"_p_event_context", "struct event_context *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_event_context = {"_p_event_context", "struct event_context *|event_context *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_p_char = {"_p_p_char", "char **", 0, 0, (void*)0, 0};
 
 static swig_type_info *swig_type_initial[] = {