1 /* ----------------------------------------------------------------------------
2 * This file was automatically generated by SWIG (http://www.swig.org).
5 * This file is not intended to be easily readable and contains a number of
6 * coding conventions designed to improve portability and efficiency. Do not make
7 * changes to this file unless you know what you are doing--modify the SWIG
8 * interface file instead.
9 * ----------------------------------------------------------------------------- */
12 #define SWIG_PYTHON_NO_BUILD_NONE
13 /* -----------------------------------------------------------------------------
14 * This section contains generic SWIG labels for method/variable
15 * declarations/attributes, and other compiler dependent labels.
16 * ----------------------------------------------------------------------------- */
18 /* template workaround for compilers that cannot correctly implement the C++ standard */
19 #ifndef SWIGTEMPLATEDISAMBIGUATOR
20 # if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560)
21 # define SWIGTEMPLATEDISAMBIGUATOR template
22 # elif defined(__HP_aCC)
23 /* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */
24 /* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */
25 # define SWIGTEMPLATEDISAMBIGUATOR template
27 # define SWIGTEMPLATEDISAMBIGUATOR
31 /* inline attribute */
33 # if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__))
34 # define SWIGINLINE inline
40 /* attribute recognised by some compilers to avoid 'unused' warnings */
42 # if defined(__GNUC__)
43 # if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
44 # define SWIGUNUSED __attribute__ ((__unused__))
49 # define SWIGUNUSED __attribute__ ((__unused__))
55 #ifndef SWIGUNUSEDPARM
57 # define SWIGUNUSEDPARM(p)
59 # define SWIGUNUSEDPARM(p) p SWIGUNUSED
63 /* internal SWIG method */
65 # define SWIGINTERN static SWIGUNUSED
68 /* internal inline SWIG method */
69 #ifndef SWIGINTERNINLINE
70 # define SWIGINTERNINLINE SWIGINTERN SWIGINLINE
73 /* exporting methods */
74 #if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
75 # ifndef GCC_HASCLASSVISIBILITY
76 # define GCC_HASCLASSVISIBILITY
81 # if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
82 # if defined(STATIC_LINKED)
85 # define SWIGEXPORT __declspec(dllexport)
88 # if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY)
89 # define SWIGEXPORT __attribute__ ((visibility("default")))
96 /* calling conventions for Windows */
98 # if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
99 # define SWIGSTDCALL __stdcall
105 /* Deal with Microsoft's attempt at deprecating C standard runtime functions */
106 #if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
107 # define _CRT_SECURE_NO_DEPRECATE
110 /* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */
111 #if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE)
112 # define _SCL_SECURE_NO_DEPRECATE
117 /* Python.h has to appear first */
120 /* -----------------------------------------------------------------------------
123 * This file contains generic CAPI SWIG runtime support for pointer
125 * ----------------------------------------------------------------------------- */
127 /* This should only be incremented when either the layout of swig_type_info changes,
128 or for whatever reason, the runtime changes incompatibly */
129 #define SWIG_RUNTIME_VERSION "4"
131 /* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */
132 #ifdef SWIG_TYPE_TABLE
133 # define SWIG_QUOTE_STRING(x) #x
134 # define SWIG_EXPAND_AND_QUOTE_STRING(x) SWIG_QUOTE_STRING(x)
135 # define SWIG_TYPE_TABLE_NAME SWIG_EXPAND_AND_QUOTE_STRING(SWIG_TYPE_TABLE)
137 # define SWIG_TYPE_TABLE_NAME
141 You can use the SWIGRUNTIME and SWIGRUNTIMEINLINE macros for
142 creating a static or dynamic library from the swig runtime code.
143 In 99.9% of the cases, swig just needs to declare them as 'static'.
145 But only do this if is strictly necessary, ie, if you have problems
146 with your compiler or so.
150 # define SWIGRUNTIME SWIGINTERN
153 #ifndef SWIGRUNTIMEINLINE
154 # define SWIGRUNTIMEINLINE SWIGRUNTIME SWIGINLINE
157 /* Generic buffer size */
158 #ifndef SWIG_BUFFER_SIZE
159 # define SWIG_BUFFER_SIZE 1024
162 /* Flags for pointer conversions */
163 #define SWIG_POINTER_DISOWN 0x1
164 #define SWIG_CAST_NEW_MEMORY 0x2
166 /* Flags for new pointer objects */
167 #define SWIG_POINTER_OWN 0x1
171 Flags/methods for returning states.
173 The swig conversion methods, as ConvertPtr, return and integer
174 that tells if the conversion was successful or not. And if not,
175 an error code can be returned (see swigerrors.swg for the codes).
177 Use the following macros/flags to set or process the returning
180 In old swig versions, you usually write code as:
182 if (SWIG_ConvertPtr(obj,vptr,ty.flags) != -1) {
188 Now you can be more explicit as:
190 int res = SWIG_ConvertPtr(obj,vptr,ty.flags);
191 if (SWIG_IsOK(res)) {
197 that seems to be the same, but now you can also do
200 int res = SWIG_ConvertPtr(obj,(void **)(&ptr),ty.flags);
201 if (SWIG_IsOK(res)) {
203 if (SWIG_IsNewObj(res) {
213 I.e., now SWIG_ConvertPtr can return new objects and you can
214 identify the case and take care of the deallocation. Of course that
215 requires also to SWIG_ConvertPtr to return new result values, as
217 int SWIG_ConvertPtr(obj, ptr,...) {
219 if (<need new object>) {
220 *ptr = <ptr to new allocated object>;
223 *ptr = <ptr to old object>;
231 Of course, returning the plain '0(success)/-1(fail)' still works, but you can be
232 more explicit by returning SWIG_BADOBJ, SWIG_ERROR or any of the
235 Finally, if the SWIG_CASTRANK_MODE is enabled, the result code
236 allows to return the 'cast rank', for example, if you have this
243 food(1) // cast rank '1' (1 -> 1.0)
244 fooi(1) // cast rank '0'
246 just use the SWIG_AddCast()/SWIG_CheckState()
251 #define SWIG_ERROR (-1)
252 #define SWIG_IsOK(r) (r >= 0)
253 #define SWIG_ArgError(r) ((r != SWIG_ERROR) ? r : SWIG_TypeError)
255 /* The CastRankLimit says how many bits are used for the cast rank */
256 #define SWIG_CASTRANKLIMIT (1 << 8)
257 /* The NewMask denotes the object was created (using new/malloc) */
258 #define SWIG_NEWOBJMASK (SWIG_CASTRANKLIMIT << 1)
259 /* The TmpMask is for in/out typemaps that use temporal objects */
260 #define SWIG_TMPOBJMASK (SWIG_NEWOBJMASK << 1)
261 /* Simple returning values */
262 #define SWIG_BADOBJ (SWIG_ERROR)
263 #define SWIG_OLDOBJ (SWIG_OK)
264 #define SWIG_NEWOBJ (SWIG_OK | SWIG_NEWOBJMASK)
265 #define SWIG_TMPOBJ (SWIG_OK | SWIG_TMPOBJMASK)
266 /* Check, add and del mask methods */
267 #define SWIG_AddNewMask(r) (SWIG_IsOK(r) ? (r | SWIG_NEWOBJMASK) : r)
268 #define SWIG_DelNewMask(r) (SWIG_IsOK(r) ? (r & ~SWIG_NEWOBJMASK) : r)
269 #define SWIG_IsNewObj(r) (SWIG_IsOK(r) && (r & SWIG_NEWOBJMASK))
270 #define SWIG_AddTmpMask(r) (SWIG_IsOK(r) ? (r | SWIG_TMPOBJMASK) : r)
271 #define SWIG_DelTmpMask(r) (SWIG_IsOK(r) ? (r & ~SWIG_TMPOBJMASK) : r)
272 #define SWIG_IsTmpObj(r) (SWIG_IsOK(r) && (r & SWIG_TMPOBJMASK))
276 #if defined(SWIG_CASTRANK_MODE)
277 # ifndef SWIG_TypeRank
278 # define SWIG_TypeRank unsigned long
280 # ifndef SWIG_MAXCASTRANK /* Default cast allowed */
281 # define SWIG_MAXCASTRANK (2)
283 # define SWIG_CASTRANKMASK ((SWIG_CASTRANKLIMIT) -1)
284 # define SWIG_CastRank(r) (r & SWIG_CASTRANKMASK)
285 SWIGINTERNINLINE int SWIG_AddCast(int r) {
286 return SWIG_IsOK(r) ? ((SWIG_CastRank(r) < SWIG_MAXCASTRANK) ? (r + 1) : SWIG_ERROR) : r;
288 SWIGINTERNINLINE int SWIG_CheckState(int r) {
289 return SWIG_IsOK(r) ? SWIG_CastRank(r) + 1 : 0;
291 #else /* no cast-rank mode */
292 # define SWIG_AddCast
293 # define SWIG_CheckState(r) (SWIG_IsOK(r) ? 1 : 0)
305 typedef void *(*swig_converter_func)(void *, int *);
306 typedef struct swig_type_info *(*swig_dycast_func)(void **);
308 /* Structure to store information on one type */
309 typedef struct swig_type_info {
310 const char *name; /* mangled name of this type */
311 const char *str; /* human readable name of this type */
312 swig_dycast_func dcast; /* dynamic cast function down a hierarchy */
313 struct swig_cast_info *cast; /* linked list of types that can cast into this type */
314 void *clientdata; /* language specific type data */
315 int owndata; /* flag if the structure owns the clientdata */
318 /* Structure to store a type and conversion function used for casting */
319 typedef struct swig_cast_info {
320 swig_type_info *type; /* pointer to type that is equivalent to this type */
321 swig_converter_func converter; /* function to cast the void pointers */
322 struct swig_cast_info *next; /* pointer to next cast in linked list */
323 struct swig_cast_info *prev; /* pointer to the previous cast */
326 /* Structure used to store module information
327 * Each module generates one structure like this, and the runtime collects
328 * all of these structures and stores them in a circularly linked list.*/
329 typedef struct swig_module_info {
330 swig_type_info **types; /* Array of pointers to swig_type_info structures that are in this module */
331 size_t size; /* Number of types in this module */
332 struct swig_module_info *next; /* Pointer to next element in circularly linked list */
333 swig_type_info **type_initial; /* Array of initially generated type structures */
334 swig_cast_info **cast_initial; /* Array of initially generated casting structures */
335 void *clientdata; /* Language specific module data */
339 Compare two type names skipping the space characters, therefore
340 "char*" == "char *" and "Class<int>" == "Class<int >", etc.
342 Return 0 when the two name types are equivalent, as in
343 strncmp, but skipping ' '.
346 SWIG_TypeNameComp(const char *f1, const char *l1,
347 const char *f2, const char *l2) {
348 for (;(f1 != l1) && (f2 != l2); ++f1, ++f2) {
349 while ((*f1 == ' ') && (f1 != l1)) ++f1;
350 while ((*f2 == ' ') && (f2 != l2)) ++f2;
351 if (*f1 != *f2) return (*f1 > *f2) ? 1 : -1;
353 return (int)((l1 - f1) - (l2 - f2));
357 Check type equivalence in a name list like <name1>|<name2>|...
358 Return 0 if not equal, 1 if equal
361 SWIG_TypeEquiv(const char *nb, const char *tb) {
363 const char* te = tb + strlen(tb);
365 while (!equiv && *ne) {
366 for (nb = ne; *ne; ++ne) {
367 if (*ne == '|') break;
369 equiv = (SWIG_TypeNameComp(nb, ne, tb, te) == 0) ? 1 : 0;
376 Check type equivalence in a name list like <name1>|<name2>|...
377 Return 0 if equal, -1 if nb < tb, 1 if nb > tb
380 SWIG_TypeCompare(const char *nb, const char *tb) {
382 const char* te = tb + strlen(tb);
384 while (!equiv && *ne) {
385 for (nb = ne; *ne; ++ne) {
386 if (*ne == '|') break;
388 equiv = (SWIG_TypeNameComp(nb, ne, tb, te) == 0) ? 1 : 0;
395 /* think of this as a c++ template<> or a scheme macro */
396 #define SWIG_TypeCheck_Template(comparison, ty) \
398 swig_cast_info *iter = ty->cast; \
401 if (iter == ty->cast) return iter; \
402 /* Move iter to the top of the linked list */ \
403 iter->prev->next = iter->next; \
405 iter->next->prev = iter->prev; \
406 iter->next = ty->cast; \
408 if (ty->cast) ty->cast->prev = iter; \
420 SWIGRUNTIME swig_cast_info *
421 SWIG_TypeCheck(const char *c, swig_type_info *ty) {
422 SWIG_TypeCheck_Template(strcmp(iter->type->name, c) == 0, ty);
425 /* Same as previous function, except strcmp is replaced with a pointer comparison */
426 SWIGRUNTIME swig_cast_info *
427 SWIG_TypeCheckStruct(swig_type_info *from, swig_type_info *into) {
428 SWIG_TypeCheck_Template(iter->type == from, into);
432 Cast a pointer up an inheritance hierarchy
434 SWIGRUNTIMEINLINE void *
435 SWIG_TypeCast(swig_cast_info *ty, void *ptr, int *newmemory) {
436 return ((!ty) || (!ty->converter)) ? ptr : (*ty->converter)(ptr, newmemory);
440 Dynamic pointer casting. Down an inheritance hierarchy
442 SWIGRUNTIME swig_type_info *
443 SWIG_TypeDynamicCast(swig_type_info *ty, void **ptr) {
444 swig_type_info *lastty = ty;
445 if (!ty || !ty->dcast) return ty;
446 while (ty && (ty->dcast)) {
447 ty = (*ty->dcast)(ptr);
454 Return the name associated with this type
456 SWIGRUNTIMEINLINE const char *
457 SWIG_TypeName(const swig_type_info *ty) {
462 Return the pretty name associated with this type,
463 that is an unmangled type name in a form presentable to the user.
465 SWIGRUNTIME const char *
466 SWIG_TypePrettyName(const swig_type_info *type) {
467 /* The "str" field contains the equivalent pretty names of the
468 type, separated by vertical-bar characters. We choose
469 to print the last name, as it is often (?) the most
471 if (!type) return NULL;
472 if (type->str != NULL) {
473 const char *last_name = type->str;
475 for (s = type->str; *s; s++)
476 if (*s == '|') last_name = s+1;
484 Set the clientdata field for a type
487 SWIG_TypeClientData(swig_type_info *ti, void *clientdata) {
488 swig_cast_info *cast = ti->cast;
489 /* if (ti->clientdata == clientdata) return; */
490 ti->clientdata = clientdata;
493 if (!cast->converter) {
494 swig_type_info *tc = cast->type;
495 if (!tc->clientdata) {
496 SWIG_TypeClientData(tc, clientdata);
503 SWIG_TypeNewClientData(swig_type_info *ti, void *clientdata) {
504 SWIG_TypeClientData(ti, clientdata);
509 Search for a swig_type_info structure only by mangled name
510 Search is a O(log #types)
512 We start searching at module start, and finish searching when start == end.
513 Note: if start == end at the beginning of the function, we go all the way around
516 SWIGRUNTIME swig_type_info *
517 SWIG_MangledTypeQueryModule(swig_module_info *start,
518 swig_module_info *end,
520 swig_module_info *iter = start;
523 register size_t l = 0;
524 register size_t r = iter->size - 1;
526 /* since l+r >= 0, we can (>> 1) instead (/ 2) */
527 register size_t i = (l + r) >> 1;
528 const char *iname = iter->types[i]->name;
530 register int compare = strcmp(name, iname);
532 return iter->types[i];
533 } else if (compare < 0) {
539 } else if (compare > 0) {
543 break; /* should never happen */
548 } while (iter != end);
553 Search for a swig_type_info structure for either a mangled name or a human readable name.
554 It first searches the mangled names of the types, which is a O(log #types)
555 If a type is not found it then searches the human readable names, which is O(#types).
557 We start searching at module start, and finish searching when start == end.
558 Note: if start == end at the beginning of the function, we go all the way around
561 SWIGRUNTIME swig_type_info *
562 SWIG_TypeQueryModule(swig_module_info *start,
563 swig_module_info *end,
565 /* STEP 1: Search the name field using binary search */
566 swig_type_info *ret = SWIG_MangledTypeQueryModule(start, end, name);
570 /* STEP 2: If the type hasn't been found, do a complete search
571 of the str field (the human readable name) */
572 swig_module_info *iter = start;
574 register size_t i = 0;
575 for (; i < iter->size; ++i) {
576 if (iter->types[i]->str && (SWIG_TypeEquiv(iter->types[i]->str, name)))
577 return iter->types[i];
580 } while (iter != end);
583 /* neither found a match */
588 Pack binary data into a string
591 SWIG_PackData(char *c, void *ptr, size_t sz) {
592 static const char hex[17] = "0123456789abcdef";
593 register const unsigned char *u = (unsigned char *) ptr;
594 register const unsigned char *eu = u + sz;
595 for (; u != eu; ++u) {
596 register unsigned char uu = *u;
597 *(c++) = hex[(uu & 0xf0) >> 4];
598 *(c++) = hex[uu & 0xf];
604 Unpack binary data from a string
606 SWIGRUNTIME const char *
607 SWIG_UnpackData(const char *c, void *ptr, size_t sz) {
608 register unsigned char *u = (unsigned char *) ptr;
609 register const unsigned char *eu = u + sz;
610 for (; u != eu; ++u) {
611 register char d = *(c++);
612 register unsigned char uu;
613 if ((d >= '0') && (d <= '9'))
614 uu = ((d - '0') << 4);
615 else if ((d >= 'a') && (d <= 'f'))
616 uu = ((d - ('a'-10)) << 4);
620 if ((d >= '0') && (d <= '9'))
622 else if ((d >= 'a') && (d <= 'f'))
623 uu |= (d - ('a'-10));
632 Pack 'void *' into a string buffer.
635 SWIG_PackVoidPtr(char *buff, void *ptr, const char *name, size_t bsz) {
637 if ((2*sizeof(void *) + 2) > bsz) return 0;
639 r = SWIG_PackData(r,&ptr,sizeof(void *));
640 if (strlen(name) + 1 > (bsz - (r - buff))) return 0;
645 SWIGRUNTIME const char *
646 SWIG_UnpackVoidPtr(const char *c, void **ptr, const char *name) {
648 if (strcmp(c,"NULL") == 0) {
655 return SWIG_UnpackData(++c,ptr,sizeof(void *));
659 SWIG_PackDataName(char *buff, void *ptr, size_t sz, const char *name, size_t bsz) {
661 size_t lname = (name ? strlen(name) : 0);
662 if ((2*sz + 2 + lname) > bsz) return 0;
664 r = SWIG_PackData(r,ptr,sz);
666 strncpy(r,name,lname+1);
673 SWIGRUNTIME const char *
674 SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) {
676 if (strcmp(c,"NULL") == 0) {
683 return SWIG_UnpackData(++c,ptr,sz);
691 #define SWIG_UnknownError -1
692 #define SWIG_IOError -2
693 #define SWIG_RuntimeError -3
694 #define SWIG_IndexError -4
695 #define SWIG_TypeError -5
696 #define SWIG_DivisionByZero -6
697 #define SWIG_OverflowError -7
698 #define SWIG_SyntaxError -8
699 #define SWIG_ValueError -9
700 #define SWIG_SystemError -10
701 #define SWIG_AttributeError -11
702 #define SWIG_MemoryError -12
703 #define SWIG_NullReferenceError -13
708 /* Add PyOS_snprintf for old Pythons */
709 #if PY_VERSION_HEX < 0x02020000
710 # if defined(_MSC_VER) || defined(__BORLANDC__) || defined(_WATCOM)
711 # define PyOS_snprintf _snprintf
713 # define PyOS_snprintf snprintf
717 /* A crude PyString_FromFormat implementation for old Pythons */
718 #if PY_VERSION_HEX < 0x02020000
720 #ifndef SWIG_PYBUFFER_SIZE
721 # define SWIG_PYBUFFER_SIZE 1024
725 PyString_FromFormat(const char *fmt, ...) {
727 char buf[SWIG_PYBUFFER_SIZE * 2];
730 res = vsnprintf(buf, sizeof(buf), fmt, ap);
732 return (res < 0 || res >= (int)sizeof(buf)) ? 0 : PyString_FromString(buf);
736 /* Add PyObject_Del for old Pythons */
737 #if PY_VERSION_HEX < 0x01060000
738 # define PyObject_Del(op) PyMem_DEL((op))
741 # define PyObject_DEL PyObject_Del
744 /* A crude PyExc_StopIteration exception for old Pythons */
745 #if PY_VERSION_HEX < 0x02020000
746 # ifndef PyExc_StopIteration
747 # define PyExc_StopIteration PyExc_RuntimeError
749 # ifndef PyObject_GenericGetAttr
750 # define PyObject_GenericGetAttr 0
753 /* Py_NotImplemented is defined in 2.1 and up. */
754 #if PY_VERSION_HEX < 0x02010000
755 # ifndef Py_NotImplemented
756 # define Py_NotImplemented PyExc_RuntimeError
761 /* A crude PyString_AsStringAndSize implementation for old Pythons */
762 #if PY_VERSION_HEX < 0x02010000
763 # ifndef PyString_AsStringAndSize
764 # define PyString_AsStringAndSize(obj, s, len) {*s = PyString_AsString(obj); *len = *s ? strlen(*s) : 0;}
768 /* PySequence_Size for old Pythons */
769 #if PY_VERSION_HEX < 0x02000000
770 # ifndef PySequence_Size
771 # define PySequence_Size PySequence_Length
776 /* PyBool_FromLong for old Pythons */
777 #if PY_VERSION_HEX < 0x02030000
779 PyObject *PyBool_FromLong(long ok)
781 PyObject *result = ok ? Py_True : Py_False;
787 /* Py_ssize_t for old Pythons */
788 /* This code is as recommended by: */
789 /* http://www.python.org/dev/peps/pep-0353/#conversion-guidelines */
790 #if PY_VERSION_HEX < 0x02050000 && !defined(PY_SSIZE_T_MIN)
791 typedef int Py_ssize_t;
792 # define PY_SSIZE_T_MAX INT_MAX
793 # define PY_SSIZE_T_MIN INT_MIN
796 /* -----------------------------------------------------------------------------
798 * ----------------------------------------------------------------------------- */
800 SWIGRUNTIME PyObject*
801 SWIG_Python_ErrorType(int code) {
804 case SWIG_MemoryError:
805 type = PyExc_MemoryError;
808 type = PyExc_IOError;
810 case SWIG_RuntimeError:
811 type = PyExc_RuntimeError;
813 case SWIG_IndexError:
814 type = PyExc_IndexError;
817 type = PyExc_TypeError;
819 case SWIG_DivisionByZero:
820 type = PyExc_ZeroDivisionError;
822 case SWIG_OverflowError:
823 type = PyExc_OverflowError;
825 case SWIG_SyntaxError:
826 type = PyExc_SyntaxError;
828 case SWIG_ValueError:
829 type = PyExc_ValueError;
831 case SWIG_SystemError:
832 type = PyExc_SystemError;
834 case SWIG_AttributeError:
835 type = PyExc_AttributeError;
838 type = PyExc_RuntimeError;
845 SWIG_Python_AddErrorMsg(const char* mesg)
849 PyObject *traceback = 0;
851 if (PyErr_Occurred()) PyErr_Fetch(&type, &value, &traceback);
853 PyObject *old_str = PyObject_Str(value);
856 PyErr_Format(type, "%s %s", PyString_AsString(old_str), mesg);
860 PyErr_SetString(PyExc_RuntimeError, mesg);
866 #if defined(SWIG_PYTHON_NO_THREADS)
867 # if defined(SWIG_PYTHON_THREADS)
868 # undef SWIG_PYTHON_THREADS
871 #if defined(SWIG_PYTHON_THREADS) /* Threading support is enabled */
872 # if !defined(SWIG_PYTHON_USE_GIL) && !defined(SWIG_PYTHON_NO_USE_GIL)
873 # if (PY_VERSION_HEX >= 0x02030000) /* For 2.3 or later, use the PyGILState calls */
874 # define SWIG_PYTHON_USE_GIL
877 # if defined(SWIG_PYTHON_USE_GIL) /* Use PyGILState threads calls */
878 # ifndef SWIG_PYTHON_INITIALIZE_THREADS
879 # define SWIG_PYTHON_INITIALIZE_THREADS PyEval_InitThreads()
881 # ifdef __cplusplus /* C++ code */
882 class SWIG_Python_Thread_Block {
884 PyGILState_STATE state;
886 void end() { if (status) { PyGILState_Release(state); status = false;} }
887 SWIG_Python_Thread_Block() : status(true), state(PyGILState_Ensure()) {}
888 ~SWIG_Python_Thread_Block() { end(); }
890 class SWIG_Python_Thread_Allow {
894 void end() { if (status) { PyEval_RestoreThread(save); status = false; }}
895 SWIG_Python_Thread_Allow() : status(true), save(PyEval_SaveThread()) {}
896 ~SWIG_Python_Thread_Allow() { end(); }
898 # define SWIG_PYTHON_THREAD_BEGIN_BLOCK SWIG_Python_Thread_Block _swig_thread_block
899 # define SWIG_PYTHON_THREAD_END_BLOCK _swig_thread_block.end()
900 # define SWIG_PYTHON_THREAD_BEGIN_ALLOW SWIG_Python_Thread_Allow _swig_thread_allow
901 # define SWIG_PYTHON_THREAD_END_ALLOW _swig_thread_allow.end()
903 # define SWIG_PYTHON_THREAD_BEGIN_BLOCK PyGILState_STATE _swig_thread_block = PyGILState_Ensure()
904 # define SWIG_PYTHON_THREAD_END_BLOCK PyGILState_Release(_swig_thread_block)
905 # define SWIG_PYTHON_THREAD_BEGIN_ALLOW PyThreadState *_swig_thread_allow = PyEval_SaveThread()
906 # define SWIG_PYTHON_THREAD_END_ALLOW PyEval_RestoreThread(_swig_thread_allow)
908 # else /* Old thread way, not implemented, user must provide it */
909 # if !defined(SWIG_PYTHON_INITIALIZE_THREADS)
910 # define SWIG_PYTHON_INITIALIZE_THREADS
912 # if !defined(SWIG_PYTHON_THREAD_BEGIN_BLOCK)
913 # define SWIG_PYTHON_THREAD_BEGIN_BLOCK
915 # if !defined(SWIG_PYTHON_THREAD_END_BLOCK)
916 # define SWIG_PYTHON_THREAD_END_BLOCK
918 # if !defined(SWIG_PYTHON_THREAD_BEGIN_ALLOW)
919 # define SWIG_PYTHON_THREAD_BEGIN_ALLOW
921 # if !defined(SWIG_PYTHON_THREAD_END_ALLOW)
922 # define SWIG_PYTHON_THREAD_END_ALLOW
925 #else /* No thread support */
926 # define SWIG_PYTHON_INITIALIZE_THREADS
927 # define SWIG_PYTHON_THREAD_BEGIN_BLOCK
928 # define SWIG_PYTHON_THREAD_END_BLOCK
929 # define SWIG_PYTHON_THREAD_BEGIN_ALLOW
930 # define SWIG_PYTHON_THREAD_END_ALLOW
933 /* -----------------------------------------------------------------------------
934 * Python API portion that goes into the runtime
935 * ----------------------------------------------------------------------------- */
944 /* -----------------------------------------------------------------------------
945 * Constant declarations
946 * ----------------------------------------------------------------------------- */
949 #define SWIG_PY_POINTER 4
950 #define SWIG_PY_BINARY 5
952 /* Constant information structure */
953 typedef struct swig_const_info {
959 swig_type_info **ptype;
970 /* -----------------------------------------------------------------------------
971 * See the LICENSE file for information on copyright, usage and redistribution
972 * of SWIG, and the README file for authors - http://www.swig.org/release.html.
976 * This file contains the runtime support for Python modules
977 * and includes code for managing global variables and pointer
980 * ----------------------------------------------------------------------------- */
982 /* Common SWIG API */
984 /* for raw pointers */
985 #define SWIG_Python_ConvertPtr(obj, pptr, type, flags) SWIG_Python_ConvertPtrAndOwn(obj, pptr, type, flags, 0)
986 #define SWIG_ConvertPtr(obj, pptr, type, flags) SWIG_Python_ConvertPtr(obj, pptr, type, flags)
987 #define SWIG_ConvertPtrAndOwn(obj,pptr,type,flags,own) SWIG_Python_ConvertPtrAndOwn(obj, pptr, type, flags, own)
988 #define SWIG_NewPointerObj(ptr, type, flags) SWIG_Python_NewPointerObj(ptr, type, flags)
989 #define SWIG_CheckImplicit(ty) SWIG_Python_CheckImplicit(ty)
990 #define SWIG_AcquirePtr(ptr, src) SWIG_Python_AcquirePtr(ptr, src)
991 #define swig_owntype int
993 /* for raw packed data */
994 #define SWIG_ConvertPacked(obj, ptr, sz, ty) SWIG_Python_ConvertPacked(obj, ptr, sz, ty)
995 #define SWIG_NewPackedObj(ptr, sz, type) SWIG_Python_NewPackedObj(ptr, sz, type)
997 /* for class or struct pointers */
998 #define SWIG_ConvertInstance(obj, pptr, type, flags) SWIG_ConvertPtr(obj, pptr, type, flags)
999 #define SWIG_NewInstanceObj(ptr, type, flags) SWIG_NewPointerObj(ptr, type, flags)
1001 /* for C or C++ function pointers */
1002 #define SWIG_ConvertFunctionPtr(obj, pptr, type) SWIG_Python_ConvertFunctionPtr(obj, pptr, type)
1003 #define SWIG_NewFunctionPtrObj(ptr, type) SWIG_Python_NewPointerObj(ptr, type, 0)
1005 /* for C++ member pointers, ie, member methods */
1006 #define SWIG_ConvertMember(obj, ptr, sz, ty) SWIG_Python_ConvertPacked(obj, ptr, sz, ty)
1007 #define SWIG_NewMemberObj(ptr, sz, type) SWIG_Python_NewPackedObj(ptr, sz, type)
1012 #define SWIG_GetModule(clientdata) SWIG_Python_GetModule()
1013 #define SWIG_SetModule(clientdata, pointer) SWIG_Python_SetModule(pointer)
1014 #define SWIG_NewClientData(obj) PySwigClientData_New(obj)
1016 #define SWIG_SetErrorObj SWIG_Python_SetErrorObj
1017 #define SWIG_SetErrorMsg SWIG_Python_SetErrorMsg
1018 #define SWIG_ErrorType(code) SWIG_Python_ErrorType(code)
1019 #define SWIG_Error(code, msg) SWIG_Python_SetErrorMsg(SWIG_ErrorType(code), msg)
1020 #define SWIG_fail goto fail
1023 /* Runtime API implementation */
1025 /* Error manipulation */
1028 SWIG_Python_SetErrorObj(PyObject *errtype, PyObject *obj) {
1029 SWIG_PYTHON_THREAD_BEGIN_BLOCK;
1030 PyErr_SetObject(errtype, obj);
1032 SWIG_PYTHON_THREAD_END_BLOCK;
1036 SWIG_Python_SetErrorMsg(PyObject *errtype, const char *msg) {
1037 SWIG_PYTHON_THREAD_BEGIN_BLOCK;
1038 PyErr_SetString(errtype, (char *) msg);
1039 SWIG_PYTHON_THREAD_END_BLOCK;
1042 #define SWIG_Python_Raise(obj, type, desc) SWIG_Python_SetErrorObj(SWIG_Python_ExceptionType(desc), obj)
1044 /* Set a constant value */
1047 SWIG_Python_SetConstant(PyObject *d, const char *name, PyObject *obj) {
1048 PyDict_SetItemString(d, (char*) name, obj);
1052 /* Append a value to the result obj */
1054 SWIGINTERN PyObject*
1055 SWIG_Python_AppendOutput(PyObject* result, PyObject* obj) {
1056 #if !defined(SWIG_PYTHON_OUTPUT_TUPLE)
1059 } else if (result == Py_None) {
1063 if (!PyList_Check(result)) {
1064 PyObject *o2 = result;
1065 result = PyList_New(1);
1066 PyList_SetItem(result, 0, o2);
1068 PyList_Append(result,obj);
1077 } else if (result == Py_None) {
1081 if (!PyTuple_Check(result)) {
1083 result = PyTuple_New(1);
1084 PyTuple_SET_ITEM(result, 0, o2);
1086 o3 = PyTuple_New(1);
1087 PyTuple_SET_ITEM(o3, 0, obj);
1089 result = PySequence_Concat(o2, o3);
1097 /* Unpack the argument tuple */
1100 SWIG_Python_UnpackTuple(PyObject *args, const char *name, Py_ssize_t min, Py_ssize_t max, PyObject **objs)
1106 PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got none",
1107 name, (min == max ? "" : "at least "), (int)min);
1111 if (!PyTuple_Check(args)) {
1112 PyErr_SetString(PyExc_SystemError, "UnpackTuple() argument list is not a tuple");
1115 register Py_ssize_t l = PyTuple_GET_SIZE(args);
1117 PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got %d",
1118 name, (min == max ? "" : "at least "), (int)min, (int)l);
1120 } else if (l > max) {
1121 PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got %d",
1122 name, (min == max ? "" : "at most "), (int)max, (int)l);
1126 for (i = 0; i < l; ++i) {
1127 objs[i] = PyTuple_GET_ITEM(args, i);
1129 for (; l < max; ++l) {
1137 /* A functor is a function object with one single object argument */
1138 #if PY_VERSION_HEX >= 0x02020000
1139 #define SWIG_Python_CallFunctor(functor, obj) PyObject_CallFunctionObjArgs(functor, obj, NULL);
1141 #define SWIG_Python_CallFunctor(functor, obj) PyObject_CallFunction(functor, "O", obj);
1145 Helper for static pointer initialization for both C and C++ code, for example
1146 static PyObject *SWIG_STATIC_POINTER(MyVar) = NewSomething(...);
1149 #define SWIG_STATIC_POINTER(var) var
1151 #define SWIG_STATIC_POINTER(var) var = 0; if (!var) var
1154 /* -----------------------------------------------------------------------------
1155 * Pointer declarations
1156 * ----------------------------------------------------------------------------- */
1158 /* Flags for new pointer objects */
1159 #define SWIG_POINTER_NOSHADOW (SWIG_POINTER_OWN << 1)
1160 #define SWIG_POINTER_NEW (SWIG_POINTER_NOSHADOW | SWIG_POINTER_OWN)
1162 #define SWIG_POINTER_IMPLICIT_CONV (SWIG_POINTER_DISOWN << 1)
1171 /* How to access Py_None */
1172 #if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
1173 # ifndef SWIG_PYTHON_NO_BUILD_NONE
1174 # ifndef SWIG_PYTHON_BUILD_NONE
1175 # define SWIG_PYTHON_BUILD_NONE
1180 #ifdef SWIG_PYTHON_BUILD_NONE
1183 # define Py_None SWIG_Py_None()
1185 SWIGRUNTIMEINLINE PyObject *
1188 PyObject *none = Py_BuildValue((char*)"");
1192 SWIGRUNTIME PyObject *
1195 static PyObject *SWIG_STATIC_POINTER(none) = _SWIG_Py_None();
1200 /* The python void return value */
1202 SWIGRUNTIMEINLINE PyObject *
1205 PyObject *none = Py_None;
1210 /* PySwigClientData */
1221 SWIGRUNTIMEINLINE int
1222 SWIG_Python_CheckImplicit(swig_type_info *ty)
1224 PySwigClientData *data = (PySwigClientData *)ty->clientdata;
1225 return data ? data->implicitconv : 0;
1228 SWIGRUNTIMEINLINE PyObject *
1229 SWIG_Python_ExceptionType(swig_type_info *desc) {
1230 PySwigClientData *data = desc ? (PySwigClientData *) desc->clientdata : 0;
1231 PyObject *klass = data ? data->klass : 0;
1232 return (klass ? klass : PyExc_RuntimeError);
1236 SWIGRUNTIME PySwigClientData *
1237 PySwigClientData_New(PyObject* obj)
1242 PySwigClientData *data = (PySwigClientData *)malloc(sizeof(PySwigClientData));
1243 /* the klass element */
1245 Py_INCREF(data->klass);
1246 /* the newraw method and newargs arguments used to create a new raw instance */
1247 if (PyClass_Check(obj)) {
1249 data->newargs = obj;
1252 #if (PY_VERSION_HEX < 0x02020000)
1255 data->newraw = PyObject_GetAttrString(data->klass, (char *)"__new__");
1258 Py_INCREF(data->newraw);
1259 data->newargs = PyTuple_New(1);
1260 PyTuple_SetItem(data->newargs, 0, obj);
1262 data->newargs = obj;
1264 Py_INCREF(data->newargs);
1266 /* the destroy method, aka as the C++ delete method */
1267 data->destroy = PyObject_GetAttrString(data->klass, (char *)"__swig_destroy__");
1268 if (PyErr_Occurred()) {
1272 if (data->destroy) {
1274 Py_INCREF(data->destroy);
1275 flags = PyCFunction_GET_FLAGS(data->destroy);
1277 data->delargs = !(flags & (METH_O));
1284 data->implicitconv = 0;
1290 PySwigClientData_Del(PySwigClientData* data)
1292 Py_XDECREF(data->newraw);
1293 Py_XDECREF(data->newargs);
1294 Py_XDECREF(data->destroy);
1297 /* =============== PySwigObject =====================*/
1307 SWIGRUNTIME PyObject *
1308 PySwigObject_long(PySwigObject *v)
1310 return PyLong_FromVoidPtr(v->ptr);
1313 SWIGRUNTIME PyObject *
1314 PySwigObject_format(const char* fmt, PySwigObject *v)
1316 PyObject *res = NULL;
1317 PyObject *args = PyTuple_New(1);
1319 if (PyTuple_SetItem(args, 0, PySwigObject_long(v)) == 0) {
1320 PyObject *ofmt = PyString_FromString(fmt);
1322 res = PyString_Format(ofmt,args);
1331 SWIGRUNTIME PyObject *
1332 PySwigObject_oct(PySwigObject *v)
1334 return PySwigObject_format("%o",v);
1337 SWIGRUNTIME PyObject *
1338 PySwigObject_hex(PySwigObject *v)
1340 return PySwigObject_format("%x",v);
1343 SWIGRUNTIME PyObject *
1345 PySwigObject_repr(PySwigObject *v)
1347 PySwigObject_repr(PySwigObject *v, PyObject *args)
1350 const char *name = SWIG_TypePrettyName(v->ty);
1351 PyObject *hex = PySwigObject_hex(v);
1352 PyObject *repr = PyString_FromFormat("<Swig Object of type '%s' at 0x%s>", name, PyString_AsString(hex));
1356 PyObject *nrep = PySwigObject_repr((PySwigObject *)v->next);
1358 PyObject *nrep = PySwigObject_repr((PySwigObject *)v->next, args);
1360 PyString_ConcatAndDel(&repr,nrep);
1366 PySwigObject_print(PySwigObject *v, FILE *fp, int SWIGUNUSEDPARM(flags))
1369 PyObject *repr = PySwigObject_repr(v);
1371 PyObject *repr = PySwigObject_repr(v, NULL);
1374 fputs(PyString_AsString(repr), fp);
1382 SWIGRUNTIME PyObject *
1383 PySwigObject_str(PySwigObject *v)
1385 char result[SWIG_BUFFER_SIZE];
1386 return SWIG_PackVoidPtr(result, v->ptr, v->ty->name, sizeof(result)) ?
1387 PyString_FromString(result) : 0;
1391 PySwigObject_compare(PySwigObject *v, PySwigObject *w)
1395 return (i < j) ? -1 : ((i > j) ? 1 : 0);
1398 SWIGRUNTIME PyTypeObject* _PySwigObject_type(void);
1400 SWIGRUNTIME PyTypeObject*
1401 PySwigObject_type(void) {
1402 static PyTypeObject *SWIG_STATIC_POINTER(type) = _PySwigObject_type();
1406 SWIGRUNTIMEINLINE int
1407 PySwigObject_Check(PyObject *op) {
1408 return ((op)->ob_type == PySwigObject_type())
1409 || (strcmp((op)->ob_type->tp_name,"PySwigObject") == 0);
1412 SWIGRUNTIME PyObject *
1413 PySwigObject_New(void *ptr, swig_type_info *ty, int own);
1416 PySwigObject_dealloc(PyObject *v)
1418 PySwigObject *sobj = (PySwigObject *) v;
1419 PyObject *next = sobj->next;
1420 if (sobj->own == SWIG_POINTER_OWN) {
1421 swig_type_info *ty = sobj->ty;
1422 PySwigClientData *data = ty ? (PySwigClientData *) ty->clientdata : 0;
1423 PyObject *destroy = data ? data->destroy : 0;
1425 /* destroy is always a VARARGS method */
1427 if (data->delargs) {
1428 /* we need to create a temporal object to carry the destroy operation */
1429 PyObject *tmp = PySwigObject_New(sobj->ptr, ty, 0);
1430 res = SWIG_Python_CallFunctor(destroy, tmp);
1433 PyCFunction meth = PyCFunction_GET_FUNCTION(destroy);
1434 PyObject *mself = PyCFunction_GET_SELF(destroy);
1435 res = ((*meth)(mself, v));
1439 #if !defined(SWIG_PYTHON_SILENT_MEMLEAK)
1441 const char *name = SWIG_TypePrettyName(ty);
1442 printf("swig/python detected a memory leak of type '%s', no destructor found.\n", (name ? name : "unknown"));
1450 SWIGRUNTIME PyObject*
1451 PySwigObject_append(PyObject* v, PyObject* next)
1453 PySwigObject *sobj = (PySwigObject *) v;
1456 if (!PyArg_ParseTuple(next,(char *)"O:append", &tmp)) return NULL;
1459 if (!PySwigObject_Check(next)) {
1464 return SWIG_Py_Void();
1467 SWIGRUNTIME PyObject*
1469 PySwigObject_next(PyObject* v)
1471 PySwigObject_next(PyObject* v, PyObject *SWIGUNUSEDPARM(args))
1474 PySwigObject *sobj = (PySwigObject *) v;
1476 Py_INCREF(sobj->next);
1479 return SWIG_Py_Void();
1483 SWIGINTERN PyObject*
1485 PySwigObject_disown(PyObject *v)
1487 PySwigObject_disown(PyObject* v, PyObject *SWIGUNUSEDPARM(args))
1490 PySwigObject *sobj = (PySwigObject *)v;
1492 return SWIG_Py_Void();
1495 SWIGINTERN PyObject*
1497 PySwigObject_acquire(PyObject *v)
1499 PySwigObject_acquire(PyObject* v, PyObject *SWIGUNUSEDPARM(args))
1502 PySwigObject *sobj = (PySwigObject *)v;
1503 sobj->own = SWIG_POINTER_OWN;
1504 return SWIG_Py_Void();
1507 SWIGINTERN PyObject*
1508 PySwigObject_own(PyObject *v, PyObject *args)
1511 #if (PY_VERSION_HEX < 0x02020000)
1512 if (!PyArg_ParseTuple(args,(char *)"|O:own",&val))
1514 if (!PyArg_UnpackTuple(args, (char *)"own", 0, 1, &val))
1521 PySwigObject *sobj = (PySwigObject *)v;
1522 PyObject *obj = PyBool_FromLong(sobj->own);
1525 if (PyObject_IsTrue(val)) {
1526 PySwigObject_acquire(v);
1528 PySwigObject_disown(v);
1531 if (PyObject_IsTrue(val)) {
1532 PySwigObject_acquire(v,args);
1534 PySwigObject_disown(v,args);
1544 swigobject_methods[] = {
1545 {(char *)"disown", (PyCFunction)PySwigObject_disown, METH_NOARGS, (char *)"releases ownership of the pointer"},
1546 {(char *)"acquire", (PyCFunction)PySwigObject_acquire, METH_NOARGS, (char *)"aquires ownership of the pointer"},
1547 {(char *)"own", (PyCFunction)PySwigObject_own, METH_VARARGS, (char *)"returns/sets ownership of the pointer"},
1548 {(char *)"append", (PyCFunction)PySwigObject_append, METH_O, (char *)"appends another 'this' object"},
1549 {(char *)"next", (PyCFunction)PySwigObject_next, METH_NOARGS, (char *)"returns the next 'this' object"},
1550 {(char *)"__repr__",(PyCFunction)PySwigObject_repr, METH_NOARGS, (char *)"returns object representation"},
1555 swigobject_methods[] = {
1556 {(char *)"disown", (PyCFunction)PySwigObject_disown, METH_VARARGS, (char *)"releases ownership of the pointer"},
1557 {(char *)"acquire", (PyCFunction)PySwigObject_acquire, METH_VARARGS, (char *)"aquires ownership of the pointer"},
1558 {(char *)"own", (PyCFunction)PySwigObject_own, METH_VARARGS, (char *)"returns/sets ownership of the pointer"},
1559 {(char *)"append", (PyCFunction)PySwigObject_append, METH_VARARGS, (char *)"appends another 'this' object"},
1560 {(char *)"next", (PyCFunction)PySwigObject_next, METH_VARARGS, (char *)"returns the next 'this' object"},
1561 {(char *)"__repr__",(PyCFunction)PySwigObject_repr, METH_VARARGS, (char *)"returns object representation"},
1566 #if PY_VERSION_HEX < 0x02020000
1567 SWIGINTERN PyObject *
1568 PySwigObject_getattr(PySwigObject *sobj,char *name)
1570 return Py_FindMethod(swigobject_methods, (PyObject *)sobj, name);
1574 SWIGRUNTIME PyTypeObject*
1575 _PySwigObject_type(void) {
1576 static char swigobject_doc[] = "Swig object carries a C/C++ instance pointer";
1578 static PyNumberMethods PySwigObject_as_number = {
1579 (binaryfunc)0, /*nb_add*/
1580 (binaryfunc)0, /*nb_subtract*/
1581 (binaryfunc)0, /*nb_multiply*/
1582 (binaryfunc)0, /*nb_divide*/
1583 (binaryfunc)0, /*nb_remainder*/
1584 (binaryfunc)0, /*nb_divmod*/
1585 (ternaryfunc)0,/*nb_power*/
1586 (unaryfunc)0, /*nb_negative*/
1587 (unaryfunc)0, /*nb_positive*/
1588 (unaryfunc)0, /*nb_absolute*/
1589 (inquiry)0, /*nb_nonzero*/
1596 (coercion)0, /*nb_coerce*/
1597 (unaryfunc)PySwigObject_long, /*nb_int*/
1598 (unaryfunc)PySwigObject_long, /*nb_long*/
1599 (unaryfunc)0, /*nb_float*/
1600 (unaryfunc)PySwigObject_oct, /*nb_oct*/
1601 (unaryfunc)PySwigObject_hex, /*nb_hex*/
1602 #if PY_VERSION_HEX >= 0x02050000 /* 2.5.0 */
1603 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_index */
1604 #elif PY_VERSION_HEX >= 0x02020000 /* 2.2.0 */
1605 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_true_divide */
1606 #elif PY_VERSION_HEX >= 0x02000000 /* 2.0.0 */
1607 0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_or */
1611 static PyTypeObject pyswigobject_type;
1612 static int type_init = 0;
1614 const PyTypeObject tmp
1616 PyObject_HEAD_INIT(NULL)
1618 (char *)"PySwigObject", /* tp_name */
1619 sizeof(PySwigObject), /* tp_basicsize */
1620 0, /* tp_itemsize */
1621 (destructor)PySwigObject_dealloc, /* tp_dealloc */
1622 (printfunc)PySwigObject_print, /* tp_print */
1623 #if PY_VERSION_HEX < 0x02020000
1624 (getattrfunc)PySwigObject_getattr, /* tp_getattr */
1626 (getattrfunc)0, /* tp_getattr */
1628 (setattrfunc)0, /* tp_setattr */
1629 (cmpfunc)PySwigObject_compare, /* tp_compare */
1630 (reprfunc)PySwigObject_repr, /* tp_repr */
1631 &PySwigObject_as_number, /* tp_as_number */
1632 0, /* tp_as_sequence */
1633 0, /* tp_as_mapping */
1634 (hashfunc)0, /* tp_hash */
1635 (ternaryfunc)0, /* tp_call */
1636 (reprfunc)PySwigObject_str, /* tp_str */
1637 PyObject_GenericGetAttr, /* tp_getattro */
1638 0, /* tp_setattro */
1639 0, /* tp_as_buffer */
1640 Py_TPFLAGS_DEFAULT, /* tp_flags */
1641 swigobject_doc, /* tp_doc */
1642 0, /* tp_traverse */
1644 0, /* tp_richcompare */
1645 0, /* tp_weaklistoffset */
1646 #if PY_VERSION_HEX >= 0x02020000
1648 0, /* tp_iternext */
1649 swigobject_methods, /* tp_methods */
1654 0, /* tp_descr_get */
1655 0, /* tp_descr_set */
1656 0, /* tp_dictoffset */
1665 0, /* tp_subclasses */
1666 0, /* tp_weaklist */
1668 #if PY_VERSION_HEX >= 0x02030000
1672 0,0,0,0 /* tp_alloc -> tp_next */
1675 pyswigobject_type = tmp;
1676 pyswigobject_type.ob_type = &PyType_Type;
1679 return &pyswigobject_type;
1682 SWIGRUNTIME PyObject *
1683 PySwigObject_New(void *ptr, swig_type_info *ty, int own)
1685 PySwigObject *sobj = PyObject_NEW(PySwigObject, PySwigObject_type());
1692 return (PyObject *)sobj;
1695 /* -----------------------------------------------------------------------------
1696 * Implements a simple Swig Packed type, and use it instead of string
1697 * ----------------------------------------------------------------------------- */
1707 PySwigPacked_print(PySwigPacked *v, FILE *fp, int SWIGUNUSEDPARM(flags))
1709 char result[SWIG_BUFFER_SIZE];
1710 fputs("<Swig Packed ", fp);
1711 if (SWIG_PackDataName(result, v->pack, v->size, 0, sizeof(result))) {
1715 fputs(v->ty->name,fp);
1720 SWIGRUNTIME PyObject *
1721 PySwigPacked_repr(PySwigPacked *v)
1723 char result[SWIG_BUFFER_SIZE];
1724 if (SWIG_PackDataName(result, v->pack, v->size, 0, sizeof(result))) {
1725 return PyString_FromFormat("<Swig Packed at %s%s>", result, v->ty->name);
1727 return PyString_FromFormat("<Swig Packed %s>", v->ty->name);
1731 SWIGRUNTIME PyObject *
1732 PySwigPacked_str(PySwigPacked *v)
1734 char result[SWIG_BUFFER_SIZE];
1735 if (SWIG_PackDataName(result, v->pack, v->size, 0, sizeof(result))){
1736 return PyString_FromFormat("%s%s", result, v->ty->name);
1738 return PyString_FromString(v->ty->name);
1743 PySwigPacked_compare(PySwigPacked *v, PySwigPacked *w)
1747 int s = (i < j) ? -1 : ((i > j) ? 1 : 0);
1748 return s ? s : strncmp((char *)v->pack, (char *)w->pack, 2*v->size);
1751 SWIGRUNTIME PyTypeObject* _PySwigPacked_type(void);
1753 SWIGRUNTIME PyTypeObject*
1754 PySwigPacked_type(void) {
1755 static PyTypeObject *SWIG_STATIC_POINTER(type) = _PySwigPacked_type();
1759 SWIGRUNTIMEINLINE int
1760 PySwigPacked_Check(PyObject *op) {
1761 return ((op)->ob_type == _PySwigPacked_type())
1762 || (strcmp((op)->ob_type->tp_name,"PySwigPacked") == 0);
1766 PySwigPacked_dealloc(PyObject *v)
1768 if (PySwigPacked_Check(v)) {
1769 PySwigPacked *sobj = (PySwigPacked *) v;
1775 SWIGRUNTIME PyTypeObject*
1776 _PySwigPacked_type(void) {
1777 static char swigpacked_doc[] = "Swig object carries a C/C++ instance pointer";
1778 static PyTypeObject pyswigpacked_type;
1779 static int type_init = 0;
1781 const PyTypeObject tmp
1783 PyObject_HEAD_INIT(NULL)
1785 (char *)"PySwigPacked", /* tp_name */
1786 sizeof(PySwigPacked), /* tp_basicsize */
1787 0, /* tp_itemsize */
1788 (destructor)PySwigPacked_dealloc, /* tp_dealloc */
1789 (printfunc)PySwigPacked_print, /* tp_print */
1790 (getattrfunc)0, /* tp_getattr */
1791 (setattrfunc)0, /* tp_setattr */
1792 (cmpfunc)PySwigPacked_compare, /* tp_compare */
1793 (reprfunc)PySwigPacked_repr, /* tp_repr */
1794 0, /* tp_as_number */
1795 0, /* tp_as_sequence */
1796 0, /* tp_as_mapping */
1797 (hashfunc)0, /* tp_hash */
1798 (ternaryfunc)0, /* tp_call */
1799 (reprfunc)PySwigPacked_str, /* tp_str */
1800 PyObject_GenericGetAttr, /* tp_getattro */
1801 0, /* tp_setattro */
1802 0, /* tp_as_buffer */
1803 Py_TPFLAGS_DEFAULT, /* tp_flags */
1804 swigpacked_doc, /* tp_doc */
1805 0, /* tp_traverse */
1807 0, /* tp_richcompare */
1808 0, /* tp_weaklistoffset */
1809 #if PY_VERSION_HEX >= 0x02020000
1811 0, /* tp_iternext */
1817 0, /* tp_descr_get */
1818 0, /* tp_descr_set */
1819 0, /* tp_dictoffset */
1828 0, /* tp_subclasses */
1829 0, /* tp_weaklist */
1831 #if PY_VERSION_HEX >= 0x02030000
1835 0,0,0,0 /* tp_alloc -> tp_next */
1838 pyswigpacked_type = tmp;
1839 pyswigpacked_type.ob_type = &PyType_Type;
1842 return &pyswigpacked_type;
1845 SWIGRUNTIME PyObject *
1846 PySwigPacked_New(void *ptr, size_t size, swig_type_info *ty)
1848 PySwigPacked *sobj = PyObject_NEW(PySwigPacked, PySwigPacked_type());
1850 void *pack = malloc(size);
1852 memcpy(pack, ptr, size);
1857 PyObject_DEL((PyObject *) sobj);
1861 return (PyObject *) sobj;
1864 SWIGRUNTIME swig_type_info *
1865 PySwigPacked_UnpackData(PyObject *obj, void *ptr, size_t size)
1867 if (PySwigPacked_Check(obj)) {
1868 PySwigPacked *sobj = (PySwigPacked *)obj;
1869 if (sobj->size != size) return 0;
1870 memcpy(ptr, sobj->pack, size);
1877 /* -----------------------------------------------------------------------------
1878 * pointers/data manipulation
1879 * ----------------------------------------------------------------------------- */
1881 SWIGRUNTIMEINLINE PyObject *
1884 return PyString_FromString("this");
1887 SWIGRUNTIME PyObject *
1890 static PyObject *SWIG_STATIC_POINTER(swig_this) = _SWIG_This();
1894 /* #define SWIG_PYTHON_SLOW_GETSET_THIS */
1896 SWIGRUNTIME PySwigObject *
1897 SWIG_Python_GetSwigThis(PyObject *pyobj)
1899 if (PySwigObject_Check(pyobj)) {
1900 return (PySwigObject *) pyobj;
1903 #if (!defined(SWIG_PYTHON_SLOW_GETSET_THIS) && (PY_VERSION_HEX >= 0x02030000))
1904 if (PyInstance_Check(pyobj)) {
1905 obj = _PyInstance_Lookup(pyobj, SWIG_This());
1907 PyObject **dictptr = _PyObject_GetDictPtr(pyobj);
1908 if (dictptr != NULL) {
1909 PyObject *dict = *dictptr;
1910 obj = dict ? PyDict_GetItem(dict, SWIG_This()) : 0;
1912 #ifdef PyWeakref_CheckProxy
1913 if (PyWeakref_CheckProxy(pyobj)) {
1914 PyObject *wobj = PyWeakref_GET_OBJECT(pyobj);
1915 return wobj ? SWIG_Python_GetSwigThis(wobj) : 0;
1918 obj = PyObject_GetAttr(pyobj,SWIG_This());
1922 if (PyErr_Occurred()) PyErr_Clear();
1928 obj = PyObject_GetAttr(pyobj,SWIG_This());
1932 if (PyErr_Occurred()) PyErr_Clear();
1936 if (obj && !PySwigObject_Check(obj)) {
1937 /* a PyObject is called 'this', try to get the 'real this'
1938 PySwigObject from it */
1939 return SWIG_Python_GetSwigThis(obj);
1941 return (PySwigObject *)obj;
1945 /* Acquire a pointer value */
1948 SWIG_Python_AcquirePtr(PyObject *obj, int own) {
1949 if (own == SWIG_POINTER_OWN) {
1950 PySwigObject *sobj = SWIG_Python_GetSwigThis(obj);
1952 int oldown = sobj->own;
1960 /* Convert a pointer value */
1963 SWIG_Python_ConvertPtrAndOwn(PyObject *obj, void **ptr, swig_type_info *ty, int flags, int *own) {
1964 if (!obj) return SWIG_ERROR;
1965 if (obj == Py_None) {
1969 PySwigObject *sobj = SWIG_Python_GetSwigThis(obj);
1973 void *vptr = sobj->ptr;
1975 swig_type_info *to = sobj->ty;
1977 /* no type cast needed */
1978 if (ptr) *ptr = vptr;
1981 swig_cast_info *tc = SWIG_TypeCheck(to->name,ty);
1983 sobj = (PySwigObject *)sobj->next;
1987 *ptr = SWIG_TypeCast(tc,vptr,&newmemory);
1988 if (newmemory == SWIG_CAST_NEW_MEMORY) {
1991 *own = *own | SWIG_CAST_NEW_MEMORY;
1998 if (ptr) *ptr = vptr;
2004 *own = *own | sobj->own;
2005 if (flags & SWIG_POINTER_DISOWN) {
2010 int res = SWIG_ERROR;
2011 if (flags & SWIG_POINTER_IMPLICIT_CONV) {
2012 PySwigClientData *data = ty ? (PySwigClientData *) ty->clientdata : 0;
2013 if (data && !data->implicitconv) {
2014 PyObject *klass = data->klass;
2017 data->implicitconv = 1; /* avoid recursion and call 'explicit' constructors*/
2018 impconv = SWIG_Python_CallFunctor(klass, obj);
2019 data->implicitconv = 0;
2020 if (PyErr_Occurred()) {
2025 PySwigObject *iobj = SWIG_Python_GetSwigThis(impconv);
2028 res = SWIG_Python_ConvertPtrAndOwn((PyObject*)iobj, &vptr, ty, 0, 0);
2029 if (SWIG_IsOK(res)) {
2032 /* transfer the ownership to 'ptr' */
2034 res = SWIG_AddCast(res);
2035 res = SWIG_AddNewMask(res);
2037 res = SWIG_AddCast(res);
2051 /* Convert a function ptr value */
2054 SWIG_Python_ConvertFunctionPtr(PyObject *obj, void **ptr, swig_type_info *ty) {
2055 if (!PyCFunction_Check(obj)) {
2056 return SWIG_ConvertPtr(obj, ptr, ty, 0);
2060 /* here we get the method pointer for callbacks */
2061 const char *doc = (((PyCFunctionObject *)obj) -> m_ml -> ml_doc);
2062 const char *desc = doc ? strstr(doc, "swig_ptr: ") : 0;
2064 desc = ty ? SWIG_UnpackVoidPtr(desc + 10, &vptr, ty->name) : 0;
2065 if (!desc) return SWIG_ERROR;
2068 swig_cast_info *tc = SWIG_TypeCheck(desc,ty);
2071 *ptr = SWIG_TypeCast(tc,vptr,&newmemory);
2072 assert(!newmemory); /* newmemory handling not yet implemented */
2083 /* Convert a packed value value */
2086 SWIG_Python_ConvertPacked(PyObject *obj, void *ptr, size_t sz, swig_type_info *ty) {
2087 swig_type_info *to = PySwigPacked_UnpackData(obj, ptr, sz);
2088 if (!to) return SWIG_ERROR;
2091 /* check type cast? */
2092 swig_cast_info *tc = SWIG_TypeCheck(to->name,ty);
2093 if (!tc) return SWIG_ERROR;
2099 /* -----------------------------------------------------------------------------
2100 * Create a new pointer object
2101 * ----------------------------------------------------------------------------- */
2104 Create a new instance object, whitout calling __init__, and set the
2108 SWIGRUNTIME PyObject*
2109 SWIG_Python_NewShadowInstance(PySwigClientData *data, PyObject *swig_this)
2111 #if (PY_VERSION_HEX >= 0x02020000)
2113 PyObject *newraw = data->newraw;
2115 inst = PyObject_Call(newraw, data->newargs, NULL);
2117 #if !defined(SWIG_PYTHON_SLOW_GETSET_THIS)
2118 PyObject **dictptr = _PyObject_GetDictPtr(inst);
2119 if (dictptr != NULL) {
2120 PyObject *dict = *dictptr;
2122 dict = PyDict_New();
2124 PyDict_SetItem(dict, SWIG_This(), swig_this);
2128 PyObject *key = SWIG_This();
2129 PyObject_SetAttr(inst, key, swig_this);
2133 PyObject *dict = PyDict_New();
2134 PyDict_SetItem(dict, SWIG_This(), swig_this);
2135 inst = PyInstance_NewRaw(data->newargs, dict);
2140 #if (PY_VERSION_HEX >= 0x02010000)
2142 PyObject *dict = PyDict_New();
2143 PyDict_SetItem(dict, SWIG_This(), swig_this);
2144 inst = PyInstance_NewRaw(data->newargs, dict);
2146 return (PyObject *) inst;
2148 PyInstanceObject *inst = PyObject_NEW(PyInstanceObject, &PyInstance_Type);
2152 inst->in_class = (PyClassObject *)data->newargs;
2153 Py_INCREF(inst->in_class);
2154 inst->in_dict = PyDict_New();
2155 if (inst->in_dict == NULL) {
2159 #ifdef Py_TPFLAGS_HAVE_WEAKREFS
2160 inst->in_weakreflist = NULL;
2162 #ifdef Py_TPFLAGS_GC
2163 PyObject_GC_Init(inst);
2165 PyDict_SetItem(inst->in_dict, SWIG_This(), swig_this);
2166 return (PyObject *) inst;
2172 SWIG_Python_SetSwigThis(PyObject *inst, PyObject *swig_this)
2175 #if (PY_VERSION_HEX >= 0x02020000) && !defined(SWIG_PYTHON_SLOW_GETSET_THIS)
2176 PyObject **dictptr = _PyObject_GetDictPtr(inst);
2177 if (dictptr != NULL) {
2180 dict = PyDict_New();
2183 PyDict_SetItem(dict, SWIG_This(), swig_this);
2187 dict = PyObject_GetAttrString(inst, (char*)"__dict__");
2188 PyDict_SetItem(dict, SWIG_This(), swig_this);
2193 SWIGINTERN PyObject *
2194 SWIG_Python_InitShadowInstance(PyObject *args) {
2196 if (!SWIG_Python_UnpackTuple(args,(char*)"swiginit", 2, 2, obj)) {
2199 PySwigObject *sthis = SWIG_Python_GetSwigThis(obj[0]);
2201 PySwigObject_append((PyObject*) sthis, obj[1]);
2203 SWIG_Python_SetSwigThis(obj[0], obj[1]);
2205 return SWIG_Py_Void();
2209 /* Create a new pointer object */
2211 SWIGRUNTIME PyObject *
2212 SWIG_Python_NewPointerObj(void *ptr, swig_type_info *type, int flags) {
2214 return SWIG_Py_Void();
2216 int own = (flags & SWIG_POINTER_OWN) ? SWIG_POINTER_OWN : 0;
2217 PyObject *robj = PySwigObject_New(ptr, type, own);
2218 PySwigClientData *clientdata = type ? (PySwigClientData *)(type->clientdata) : 0;
2219 if (clientdata && !(flags & SWIG_POINTER_NOSHADOW)) {
2220 PyObject *inst = SWIG_Python_NewShadowInstance(clientdata, robj);
2230 /* Create a new packed object */
2232 SWIGRUNTIMEINLINE PyObject *
2233 SWIG_Python_NewPackedObj(void *ptr, size_t sz, swig_type_info *type) {
2234 return ptr ? PySwigPacked_New((void *) ptr, sz, type) : SWIG_Py_Void();
2237 /* -----------------------------------------------------------------------------*
2239 * -----------------------------------------------------------------------------*/
2241 #ifdef SWIG_LINK_RUNTIME
2242 void *SWIG_ReturnGlobalTypeList(void *);
2245 SWIGRUNTIME swig_module_info *
2246 SWIG_Python_GetModule(void) {
2247 static void *type_pointer = (void *)0;
2248 /* first check if module already created */
2249 if (!type_pointer) {
2250 #ifdef SWIG_LINK_RUNTIME
2251 type_pointer = SWIG_ReturnGlobalTypeList((void *)0);
2253 type_pointer = PyCObject_Import((char*)"swig_runtime_data" SWIG_RUNTIME_VERSION,
2254 (char*)"type_pointer" SWIG_TYPE_TABLE_NAME);
2255 if (PyErr_Occurred()) {
2257 type_pointer = (void *)0;
2261 return (swig_module_info *) type_pointer;
2264 #if PY_MAJOR_VERSION < 2
2265 /* PyModule_AddObject function was introduced in Python 2.0. The following function
2266 is copied out of Python/modsupport.c in python version 2.3.4 */
2268 PyModule_AddObject(PyObject *m, char *name, PyObject *o)
2271 if (!PyModule_Check(m)) {
2272 PyErr_SetString(PyExc_TypeError,
2273 "PyModule_AddObject() needs module as first arg");
2277 PyErr_SetString(PyExc_TypeError,
2278 "PyModule_AddObject() needs non-NULL value");
2282 dict = PyModule_GetDict(m);
2284 /* Internal error -- modules must have a dict! */
2285 PyErr_Format(PyExc_SystemError, "module '%s' has no __dict__",
2286 PyModule_GetName(m));
2289 if (PyDict_SetItemString(dict, name, o))
2297 SWIG_Python_DestroyModule(void *vptr)
2299 swig_module_info *swig_module = (swig_module_info *) vptr;
2300 swig_type_info **types = swig_module->types;
2302 for (i =0; i < swig_module->size; ++i) {
2303 swig_type_info *ty = types[i];
2305 PySwigClientData *data = (PySwigClientData *) ty->clientdata;
2306 if (data) PySwigClientData_Del(data);
2309 Py_DECREF(SWIG_This());
2313 SWIG_Python_SetModule(swig_module_info *swig_module) {
2314 static PyMethodDef swig_empty_runtime_method_table[] = { {NULL, NULL, 0, NULL} };/* Sentinel */
2316 PyObject *module = Py_InitModule((char*)"swig_runtime_data" SWIG_RUNTIME_VERSION,
2317 swig_empty_runtime_method_table);
2318 PyObject *pointer = PyCObject_FromVoidPtr((void *) swig_module, SWIG_Python_DestroyModule);
2319 if (pointer && module) {
2320 PyModule_AddObject(module, (char*)"type_pointer" SWIG_TYPE_TABLE_NAME, pointer);
2322 Py_XDECREF(pointer);
2326 /* The python cached type query */
2327 SWIGRUNTIME PyObject *
2328 SWIG_Python_TypeCache(void) {
2329 static PyObject *SWIG_STATIC_POINTER(cache) = PyDict_New();
2333 SWIGRUNTIME swig_type_info *
2334 SWIG_Python_TypeQuery(const char *type)
2336 PyObject *cache = SWIG_Python_TypeCache();
2337 PyObject *key = PyString_FromString(type);
2338 PyObject *obj = PyDict_GetItem(cache, key);
2339 swig_type_info *descriptor;
2341 descriptor = (swig_type_info *) PyCObject_AsVoidPtr(obj);
2343 swig_module_info *swig_module = SWIG_Python_GetModule();
2344 descriptor = SWIG_TypeQueryModule(swig_module, swig_module, type);
2346 obj = PyCObject_FromVoidPtr(descriptor, NULL);
2347 PyDict_SetItem(cache, key, obj);
2356 For backward compatibility only
2358 #define SWIG_POINTER_EXCEPTION 0
2359 #define SWIG_arg_fail(arg) SWIG_Python_ArgFail(arg)
2360 #define SWIG_MustGetPtr(p, type, argnum, flags) SWIG_Python_MustGetPtr(p, type, argnum, flags)
2363 SWIG_Python_AddErrMesg(const char* mesg, int infront)
2365 if (PyErr_Occurred()) {
2367 PyObject *value = 0;
2368 PyObject *traceback = 0;
2369 PyErr_Fetch(&type, &value, &traceback);
2371 PyObject *old_str = PyObject_Str(value);
2375 PyErr_Format(type, "%s %s", mesg, PyString_AsString(old_str));
2377 PyErr_Format(type, "%s %s", PyString_AsString(old_str), mesg);
2388 SWIG_Python_ArgFail(int argnum)
2390 if (PyErr_Occurred()) {
2391 /* add information about failing argument */
2393 PyOS_snprintf(mesg, sizeof(mesg), "argument number %d:", argnum);
2394 return SWIG_Python_AddErrMesg(mesg, 1);
2400 SWIGRUNTIMEINLINE const char *
2401 PySwigObject_GetDesc(PyObject *self)
2403 PySwigObject *v = (PySwigObject *)self;
2404 swig_type_info *ty = v ? v->ty : 0;
2405 return ty ? ty->str : (char*)"";
2409 SWIG_Python_TypeError(const char *type, PyObject *obj)
2412 #if defined(SWIG_COBJECT_TYPES)
2413 if (obj && PySwigObject_Check(obj)) {
2414 const char *otype = (const char *) PySwigObject_GetDesc(obj);
2416 PyErr_Format(PyExc_TypeError, "a '%s' is expected, 'PySwigObject(%s)' is received",
2423 const char *otype = (obj ? obj->ob_type->tp_name : 0);
2425 PyObject *str = PyObject_Str(obj);
2426 const char *cstr = str ? PyString_AsString(str) : 0;
2428 PyErr_Format(PyExc_TypeError, "a '%s' is expected, '%s(%s)' is received",
2431 PyErr_Format(PyExc_TypeError, "a '%s' is expected, '%s' is received",
2438 PyErr_Format(PyExc_TypeError, "a '%s' is expected", type);
2440 PyErr_Format(PyExc_TypeError, "unexpected type is received");
2445 /* Convert a pointer value, signal an exception on a type mismatch */
2447 SWIG_Python_MustGetPtr(PyObject *obj, swig_type_info *ty, int argnum, int flags) {
2449 if (SWIG_Python_ConvertPtr(obj, &result, ty, flags) == -1) {
2451 if (flags & SWIG_POINTER_EXCEPTION) {
2452 SWIG_Python_TypeError(SWIG_TypePrettyName(ty), obj);
2453 SWIG_Python_ArgFail(argnum);
2469 #define SWIG_exception_fail(code, msg) do { SWIG_Error(code, msg); SWIG_fail; } while(0)
2471 #define SWIG_contract_assert(expr, msg) if (!(expr)) { SWIG_Error(SWIG_RuntimeError, msg); SWIG_fail; } else
2475 #define SWIG_exception(code, msg) do { SWIG_Error(code, msg); SWIG_fail;; } while(0)
2478 /* -------- TYPES TABLE (BEGIN) -------- */
2480 #define SWIGTYPE_p_TALLOC_CTX swig_types[0]
2481 #define SWIGTYPE_p_char swig_types[1]
2482 #define SWIGTYPE_p_f_p_void_enum_ldb_debug_level_p_q_const__char_va_list__void swig_types[2]
2483 #define SWIGTYPE_p_int swig_types[3]
2484 #define SWIGTYPE_p_ldb_context swig_types[4]
2485 #define SWIGTYPE_p_ldb_dn swig_types[5]
2486 #define SWIGTYPE_p_ldb_ldif swig_types[6]
2487 #define SWIGTYPE_p_ldb_message swig_types[7]
2488 #define SWIGTYPE_p_ldb_message_element swig_types[8]
2489 #define SWIGTYPE_p_ldb_module_ops swig_types[9]
2490 #define SWIGTYPE_p_ldb_result swig_types[10]
2491 #define SWIGTYPE_p_ldb_val swig_types[11]
2492 #define SWIGTYPE_p_long_long swig_types[12]
2493 #define SWIGTYPE_p_p_char swig_types[13]
2494 #define SWIGTYPE_p_p_ldb_control swig_types[14]
2495 #define SWIGTYPE_p_p_ldb_result swig_types[15]
2496 #define SWIGTYPE_p_short swig_types[16]
2497 #define SWIGTYPE_p_signed_char swig_types[17]
2498 #define SWIGTYPE_p_unsigned_char swig_types[18]
2499 #define SWIGTYPE_p_unsigned_int swig_types[19]
2500 #define SWIGTYPE_p_unsigned_long swig_types[20]
2501 #define SWIGTYPE_p_unsigned_long_long swig_types[21]
2502 #define SWIGTYPE_p_unsigned_short swig_types[22]
2503 #define SWIGTYPE_p_void swig_types[23]
2504 static swig_type_info *swig_types[25];
2505 static swig_module_info swig_module = {swig_types, 24, 0, 0, 0, 0};
2506 #define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name)
2507 #define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name)
2509 /* -------- TYPES TABLE (END) -------- */
2511 #if (PY_VERSION_HEX <= 0x02000000)
2512 # if !defined(SWIG_PYTHON_CLASSIC)
2513 # error "This python version requires swig to be run with the '-classic' option"
2516 #if (PY_VERSION_HEX <= 0x02020000)
2517 # error "This python version requires swig to be run with the '-nomodern' option"
2519 #if (PY_VERSION_HEX <= 0x02020000)
2520 # error "This python version requires swig to be run with the '-nomodernargs' option"
2523 # error "This python version requires swig to be run with the '-nofastunpack' option"
2525 #ifdef SWIG_TypeQuery
2526 # undef SWIG_TypeQuery
2528 #define SWIG_TypeQuery SWIG_Python_TypeQuery
2530 /*-----------------------------------------------
2532 ------------------------------------------------*/
2533 #define SWIG_init init_ldb
2535 #define SWIG_name "_ldb"
2537 #define SWIGVERSION 0x010335
2538 #define SWIG_VERSION SWIGVERSION
2541 #define SWIG_as_voidptr(a) (void *)((const void *)(a))
2542 #define SWIG_as_voidptrptr(a) ((void)SWIG_as_voidptr(*a),(void**)(a))
2547 #include <stdbool.h>
2550 #include "ldb_errors.h"
2551 #include "ldb_private.h"
2553 typedef struct ldb_message ldb_msg;
2554 typedef struct ldb_context ldb;
2555 typedef struct ldb_dn ldb_dn;
2556 typedef struct ldb_ldif ldb_ldif;
2557 typedef struct ldb_message_element ldb_msg_element;
2558 typedef int ldb_error;
2559 typedef int ldb_int_error;
2563 #define SWIG_From_long PyInt_FromLong
2566 SWIGINTERNINLINE PyObject *
2567 SWIG_From_int (int value)
2569 return SWIG_From_long (value);
2573 PyObject *ldb_val_to_py_object(struct ldb_context *ldb_ctx,
2574 struct ldb_message_element *el,
2575 struct ldb_val *val)
2577 const struct ldb_schema_attribute *a;
2578 struct ldb_val new_val;
2579 TALLOC_CTX *mem_ctx = talloc_new(NULL);
2584 if (ldb_ctx != NULL) {
2585 a = ldb_schema_attribute_by_name(ldb_ctx, el->name);
2588 if (a->syntax->ldif_write_fn(ldb_ctx, mem_ctx, val, &new_val) != 0) {
2589 talloc_free(mem_ctx);
2595 ret = PyString_FromStringAndSize((const char *)new_val.data, new_val.length);
2597 talloc_free(mem_ctx);
2604 SWIGINTERN swig_type_info*
2605 SWIG_pchar_descriptor(void)
2607 static int init = 0;
2608 static swig_type_info* info = 0;
2610 info = SWIG_TypeQuery("_p_char");
2618 SWIG_AsCharPtrAndSize(PyObject *obj, char** cptr, size_t* psize, int *alloc)
2620 if (PyString_Check(obj)) {
2621 char *cstr; Py_ssize_t len;
2622 PyString_AsStringAndSize(obj, &cstr, &len);
2626 In python the user should not be able to modify the inner
2627 string representation. To warranty that, if you define
2628 SWIG_PYTHON_SAFE_CSTRINGS, a new/copy of the python string
2629 buffer is always returned.
2631 The default behavior is just to return the pointer value,
2634 #if defined(SWIG_PYTHON_SAFE_CSTRINGS)
2635 if (*alloc != SWIG_OLDOBJ)
2637 if (*alloc == SWIG_NEWOBJ)
2640 *cptr = (char *)memcpy((char *)malloc((len + 1)*sizeof(char)), cstr, sizeof(char)*(len + 1));
2641 *alloc = SWIG_NEWOBJ;
2645 *alloc = SWIG_OLDOBJ;
2648 *cptr = PyString_AsString(obj);
2651 if (psize) *psize = len + 1;
2654 swig_type_info* pchar_descriptor = SWIG_pchar_descriptor();
2655 if (pchar_descriptor) {
2657 if (SWIG_ConvertPtr(obj, &vptr, pchar_descriptor, 0) == SWIG_OK) {
2658 if (cptr) *cptr = (char *) vptr;
2659 if (psize) *psize = vptr ? (strlen((char *)vptr) + 1) : 0;
2660 if (alloc) *alloc = SWIG_OLDOBJ;
2665 return SWIG_TypeError;
2671 SWIGINTERN ldb_dn *new_ldb_dn(ldb *ldb_ctx,char const *str){
2672 ldb_dn *ret = ldb_dn_new(ldb_ctx, ldb_ctx, str);
2673 /* ldb_dn_new() doesn't accept NULL as memory context, so
2674 we do it this way... */
2675 talloc_steal(NULL, ret);
2678 SWIG_exception(SWIG_ValueError,
2679 "unable to parse dn string");
2683 SWIGINTERN void delete_ldb_dn(ldb_dn *self){ talloc_free(self); }
2685 SWIGINTERNINLINE PyObject*
2686 SWIG_From_bool (bool value)
2688 return PyBool_FromLong(value ? 1 : 0);
2692 SWIGINTERNINLINE PyObject *
2693 SWIG_FromCharPtrAndSize(const char* carray, size_t size)
2696 if (size > INT_MAX) {
2697 swig_type_info* pchar_descriptor = SWIG_pchar_descriptor();
2698 return pchar_descriptor ?
2699 SWIG_NewPointerObj((char *)(carray), pchar_descriptor, 0) : SWIG_Py_Void();
2701 return PyString_FromStringAndSize(carray, (int)(size));
2704 return SWIG_Py_Void();
2709 SWIGINTERNINLINE PyObject *
2710 SWIG_FromCharPtr(const char *cptr)
2712 return SWIG_FromCharPtrAndSize(cptr, (cptr ? strlen(cptr) : 0));
2715 SWIGINTERN ldb_dn *ldb_dn_parent(ldb_dn *self){ return ldb_dn_get_parent(NULL, self); }
2716 SWIGINTERN char const *ldb_dn_canonical_str(ldb_dn *self){
2717 return ldb_dn_canonical_string(self, self);
2719 SWIGINTERN char const *ldb_dn_canonical_ex_str(ldb_dn *self){
2720 return ldb_dn_canonical_ex_string(self, self);
2722 SWIGINTERN ldb_dn *ldb_dn___add__(ldb_dn *self,ldb_dn *other){
2723 ldb_dn *ret = ldb_dn_copy(NULL, self);
2724 ldb_dn_add_child(ret, other);
2728 struct ldb_context *ldb_context_from_py_object(PyObject *py_obj)
2730 struct ldb_context *ldb_ctx;
2731 if (SWIG_ConvertPtr(py_obj, (void *)&ldb_ctx, SWIGTYPE_p_ldb_context, 0 | 0 ) < 0)
2736 int ldb_dn_from_pyobject(TALLOC_CTX *mem_ctx, PyObject *object,
2737 struct ldb_context *ldb_ctx, ldb_dn **dn)
2741 if (ldb_ctx != NULL && PyString_Check(object)) {
2742 odn = ldb_dn_new(mem_ctx, ldb_ctx, PyString_AsString(object));
2749 ret = SWIG_ConvertPtr(object, (void **)&odn, SWIGTYPE_p_ldb_dn,
2750 SWIG_POINTER_EXCEPTION);
2751 *dn = ldb_dn_copy(mem_ctx, odn);
2758 ldb_msg_element *ldb_msg_element_from_pyobject(TALLOC_CTX *mem_ctx,
2759 PyObject *set_obj, int flags,
2760 const char *attr_name)
2762 struct ldb_message_element *me = talloc(mem_ctx, struct ldb_message_element);
2763 me->name = attr_name;
2765 if (PyString_Check(set_obj)) {
2767 me->values = talloc_array(me, struct ldb_val, me->num_values);
2768 me->values[0].length = PyString_Size(set_obj);
2769 me->values[0].data = (uint8_t *)talloc_strdup(me->values,
2770 PyString_AsString(set_obj));
2771 } else if (PySequence_Check(set_obj)) {
2773 me->num_values = PySequence_Size(set_obj);
2774 me->values = talloc_array(me, struct ldb_val, me->num_values);
2775 for (i = 0; i < me->num_values; i++) {
2776 PyObject *obj = PySequence_GetItem(set_obj, i);
2777 me->values[i].length = PyString_Size(obj);
2778 me->values[i].data = (uint8_t *)PyString_AsString(obj);
2788 PyObject *ldb_msg_element_to_set(struct ldb_context *ldb_ctx,
2789 ldb_msg_element *me)
2794 /* Python << 2.5 doesn't have PySet_New and PySet_Add. */
2795 result = PyList_New(me->num_values);
2797 for (i = 0; i < me->num_values; i++) {
2798 PyList_SetItem(result, i,
2799 ldb_val_to_py_object(ldb_ctx, me, &me->values[i]));
2806 SWIGINTERN PyObject *ldb_msg_element___iter__(ldb_msg_element *self){
2807 return PyObject_GetIter(ldb_msg_element_to_set(NULL, self));
2809 SWIGINTERN PyObject *ldb_msg_element___set__(ldb_msg_element *self){
2810 return ldb_msg_element_to_set(NULL, self);
2814 #if !defined(SWIG_NO_LLONG_MAX)
2815 # if !defined(LLONG_MAX) && defined(__GNUC__) && defined (__LONG_LONG_MAX__)
2816 # define LLONG_MAX __LONG_LONG_MAX__
2817 # define LLONG_MIN (-LLONG_MAX - 1LL)
2818 # define ULLONG_MAX (LLONG_MAX * 2ULL + 1ULL)
2824 SWIG_AsVal_double (PyObject *obj, double *val)
2826 int res = SWIG_TypeError;
2827 if (PyFloat_Check(obj)) {
2828 if (val) *val = PyFloat_AsDouble(obj);
2830 } else if (PyInt_Check(obj)) {
2831 if (val) *val = PyInt_AsLong(obj);
2833 } else if (PyLong_Check(obj)) {
2834 double v = PyLong_AsDouble(obj);
2835 if (!PyErr_Occurred()) {
2842 #ifdef SWIG_PYTHON_CAST_MODE
2845 double d = PyFloat_AsDouble(obj);
2846 if (!PyErr_Occurred()) {
2848 return SWIG_AddCast(SWIG_OK);
2853 long v = PyLong_AsLong(obj);
2854 if (!PyErr_Occurred()) {
2856 return SWIG_AddCast(SWIG_AddCast(SWIG_OK));
2873 SWIGINTERNINLINE int
2874 SWIG_CanCastAsInteger(double *d, double min, double max) {
2876 if ((min <= x && x <= max)) {
2877 double fx = floor(x);
2878 double cx = ceil(x);
2879 double rd = ((x - fx) < 0.5) ? fx : cx; /* simple rint */
2880 if ((errno == EDOM) || (errno == ERANGE)) {
2883 double summ, reps, diff;
2886 } else if (rd > x) {
2893 if (reps < 8*DBL_EPSILON) {
2904 SWIG_AsVal_long (PyObject *obj, long* val)
2906 if (PyInt_Check(obj)) {
2907 if (val) *val = PyInt_AsLong(obj);
2909 } else if (PyLong_Check(obj)) {
2910 long v = PyLong_AsLong(obj);
2911 if (!PyErr_Occurred()) {
2918 #ifdef SWIG_PYTHON_CAST_MODE
2921 long v = PyInt_AsLong(obj);
2922 if (!PyErr_Occurred()) {
2924 return SWIG_AddCast(SWIG_OK);
2930 int res = SWIG_AddCast(SWIG_AsVal_double (obj,&d));
2931 if (SWIG_IsOK(res) && SWIG_CanCastAsInteger(&d, LONG_MIN, LONG_MAX)) {
2932 if (val) *val = (long)(d);
2938 return SWIG_TypeError;
2943 SWIG_AsVal_int (PyObject * obj, int *val)
2946 int res = SWIG_AsVal_long (obj, &v);
2947 if (SWIG_IsOK(res)) {
2948 if ((v < INT_MIN || v > INT_MAX)) {
2949 return SWIG_OverflowError;
2951 if (val) *val = (int)(v);
2957 SWIGINTERN ldb_msg_element *new_ldb_msg_element(PyObject *set_obj,int flags,char const *name){
2958 return ldb_msg_element_from_pyobject(NULL, set_obj, flags, name);
2960 SWIGINTERN int ldb_msg_element___len__(ldb_msg_element *self){
2961 return self->num_values;
2963 SWIGINTERN PyObject *ldb_msg_element_get(ldb_msg_element *self,int i){
2964 if (i < 0 || i >= self->num_values)
2967 return ldb_val_to_py_object(NULL, self, &self->values[i]);
2969 SWIGINTERN void delete_ldb_msg_element(ldb_msg_element *self){ talloc_free(self); }
2971 PyObject *ldb_msg_list_elements(ldb_msg *msg)
2974 PyObject *obj = PyList_New(msg->num_elements);
2975 for (i = 0; i < msg->num_elements; i++)
2976 PyList_SetItem(obj, i, PyString_FromString(msg->elements[i].name));
2980 SWIGINTERN ldb_msg *new_ldb_msg(ldb_dn *dn){
2981 ldb_msg *ret = ldb_msg_new(NULL);
2982 ret->dn = talloc_reference(ret, dn);
2985 SWIGINTERN void delete_ldb_msg(ldb_msg *self){ talloc_free(self); }
2986 SWIGINTERN void ldb_msg___setitem____SWIG_0(ldb_msg *self,char const *attr_name,ldb_msg_element *val){
2987 struct ldb_message_element *el;
2989 ldb_msg_remove_attr(self, attr_name);
2991 el = talloc(self, struct ldb_message_element);
2992 el->name = talloc_strdup(el, attr_name);
2993 el->num_values = val->num_values;
2994 el->values = talloc_reference(el, val->values);
2996 ldb_msg_add(self, el, val->flags);
2998 SWIGINTERN void ldb_msg___setitem____SWIG_1(ldb_msg *self,char const *attr_name,PyObject *val){
2999 struct ldb_message_element *el = ldb_msg_element_from_pyobject(NULL,
3001 talloc_steal(self, el);
3002 ldb_msg_remove_attr(self, attr_name);
3003 ldb_msg_add(self, el, el->flags);
3005 SWIGINTERN unsigned int ldb_msg___len__(ldb_msg *self){ return self->num_elements; }
3007 SWIGINTERNINLINE PyObject*
3008 SWIG_From_unsigned_SS_long (unsigned long value)
3010 return (value > LONG_MAX) ?
3011 PyLong_FromUnsignedLong(value) : PyInt_FromLong((long)(value));
3015 SWIGINTERNINLINE PyObject *
3016 SWIG_From_unsigned_SS_int (unsigned int value)
3018 return SWIG_From_unsigned_SS_long (value);
3021 SWIGINTERN PyObject *ldb_msg_keys(ldb_msg *self){
3022 return ldb_msg_list_elements(self);
3024 SWIGINTERN PyObject *ldb_msg___iter__(ldb_msg *self){
3025 return PyObject_GetIter(ldb_msg_list_elements(self));
3028 static void py_ldb_debug(void *context, enum ldb_debug_level level, const char *fmt, va_list ap) PRINTF_ATTRIBUTE(3, 0);
3030 static void py_ldb_debug(void *context, enum ldb_debug_level level, const char *fmt, va_list ap)
3033 PyObject *fn = context;
3035 vasprintf(&text, fmt, ap);
3036 PyObject_CallFunction(fn, (char *)"(i,s)", level, text);
3041 static PyObject *ldb_ldif_to_pyobject(ldb_ldif *ldif)
3046 return Py_BuildValue((char *)"(iO)", ldif->changetype,
3047 SWIG_NewPointerObj(ldif->msg, SWIGTYPE_p_ldb_message, 0));
3052 PyObject *PyExc_LdbError;
3054 SWIGINTERN ldb *new_ldb(){ return ldb_init(NULL); }
3057 SWIG_AsVal_unsigned_SS_long (PyObject *obj, unsigned long *val)
3059 if (PyInt_Check(obj)) {
3060 long v = PyInt_AsLong(obj);
3065 return SWIG_OverflowError;
3067 } else if (PyLong_Check(obj)) {
3068 unsigned long v = PyLong_AsUnsignedLong(obj);
3069 if (!PyErr_Occurred()) {
3076 #ifdef SWIG_PYTHON_CAST_MODE
3079 unsigned long v = PyLong_AsUnsignedLong(obj);
3080 if (!PyErr_Occurred()) {
3082 return SWIG_AddCast(SWIG_OK);
3088 int res = SWIG_AddCast(SWIG_AsVal_double (obj,&d));
3089 if (SWIG_IsOK(res) && SWIG_CanCastAsInteger(&d, 0, ULONG_MAX)) {
3090 if (val) *val = (unsigned long)(d);
3096 return SWIG_TypeError;
3101 SWIG_AsVal_unsigned_SS_int (PyObject * obj, unsigned int *val)
3104 int res = SWIG_AsVal_unsigned_SS_long (obj, &v);
3105 if (SWIG_IsOK(res)) {
3106 if ((v > UINT_MAX)) {
3107 return SWIG_OverflowError;
3109 if (val) *val = (unsigned int)(v);
3115 SWIGINTERN void delete_ldb(ldb *self){ talloc_free(self); }
3116 SWIGINTERN ldb_error ldb_search_ex(ldb *self,TALLOC_CTX *mem_ctx,ldb_dn *base,enum ldb_scope scope,char const *expression,char const *const *attrs,struct ldb_control **controls,struct ldb_result **OUT){
3118 struct ldb_result *res;
3119 struct ldb_request *req;
3120 res = talloc_zero(mem_ctx, struct ldb_result);
3125 ret = ldb_build_search_req(&req, self, mem_ctx,
3126 base?base:ldb_get_default_basedn(self),
3132 ldb_search_default_callback);
3139 ldb_set_timeout(self, req, 0); /* use default timeout */
3141 ret = ldb_request(self, req);
3144 ret = ldb_wait(req->handle, LDB_WAIT_ALL);
3152 SWIGINTERN PyObject *ldb_schema_format_value(ldb *self,char const *element_name,PyObject *val){
3153 const struct ldb_schema_attribute *a;
3154 struct ldb_val old_val;
3155 struct ldb_val new_val;
3156 TALLOC_CTX *mem_ctx = talloc_new(NULL);
3159 old_val.data = PyString_AsString(val);
3160 old_val.length = PyString_Size(val);
3162 a = ldb_schema_attribute_by_name(self, element_name);
3168 if (a->syntax->ldif_write_fn(self, mem_ctx, &old_val, &new_val) != 0) {
3169 talloc_free(mem_ctx);
3173 ret = PyString_FromStringAndSize((const char *)new_val.data, new_val.length);
3175 talloc_free(mem_ctx);
3179 SWIGINTERN ldb_error ldb___contains__(ldb *self,ldb_dn *dn,struct ldb_result **result_as_bool){
3180 return ldb_search(self, dn, LDB_SCOPE_BASE, NULL, NULL,
3183 SWIGINTERN PyObject *ldb_parse_ldif(ldb *self,char const *s){
3184 PyObject *list = PyList_New(0);
3185 struct ldb_ldif *ldif;
3186 while ((ldif = ldb_ldif_read_string(self, &s)) != NULL) {
3187 PyList_Append(list, ldb_ldif_to_pyobject(ldif));
3189 return PyObject_GetIter(list);
3192 static char *timestring(time_t t)
3194 char *tresult = ldb_timestring(NULL, t);
3195 char *result = strdup(tresult);
3196 talloc_free(tresult);
3203 SWIGINTERN PyObject *_wrap_ldb_val_to_py_object(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
3204 PyObject *resultobj = 0;
3205 struct ldb_context *arg1 = (struct ldb_context *) 0 ;
3206 struct ldb_message_element *arg2 = (struct ldb_message_element *) 0 ;
3207 struct ldb_val *arg3 = (struct ldb_val *) 0 ;
3208 PyObject *result = 0 ;
3215 PyObject * obj0 = 0 ;
3216 PyObject * obj1 = 0 ;
3217 PyObject * obj2 = 0 ;
3218 char * kwnames[] = {
3219 (char *) "ldb_ctx",(char *) "el",(char *) "val", NULL
3222 if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:ldb_val_to_py_object",kwnames,&obj0,&obj1,&obj2)) SWIG_fail;
3223 res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ldb_context, 0 | 0 );
3224 if (!SWIG_IsOK(res1)) {
3225 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ldb_val_to_py_object" "', argument " "1"" of type '" "struct ldb_context *""'");
3227 arg1 = (struct ldb_context *)(argp1);
3228 res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_ldb_message_element, 0 | 0 );
3229 if (!SWIG_IsOK(res2)) {
3230 SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "ldb_val_to_py_object" "', argument " "2"" of type '" "struct ldb_message_element *""'");
3232 arg2 = (struct ldb_message_element *)(argp2);
3233 res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_ldb_val, 0 | 0 );
3234 if (!SWIG_IsOK(res3)) {
3235 SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "ldb_val_to_py_object" "', argument " "3"" of type '" "struct ldb_val *""'");
3237 arg3 = (struct ldb_val *)(argp3);
3239 SWIG_exception(SWIG_ValueError,
3240 "ldb context must be non-NULL");
3241 result = (PyObject *)ldb_val_to_py_object(arg1,arg2,arg3);
3249 SWIGINTERN PyObject *_wrap_new_Dn(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
3250 PyObject *resultobj = 0;
3251 ldb *arg1 = (ldb *) 0 ;
3252 char *arg2 = (char *) 0 ;
3253 ldb_dn *result = 0 ;
3259 PyObject * obj0 = 0 ;
3260 PyObject * obj1 = 0 ;
3261 char * kwnames[] = {
3262 (char *) "ldb_ctx",(char *) "str", NULL
3265 if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:new_Dn",kwnames,&obj0,&obj1)) SWIG_fail;
3266 res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ldb_context, 0 | 0 );
3267 if (!SWIG_IsOK(res1)) {
3268 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_Dn" "', argument " "1"" of type '" "ldb *""'");
3270 arg1 = (ldb *)(argp1);
3271 res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
3272 if (!SWIG_IsOK(res2)) {
3273 SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_Dn" "', argument " "2"" of type '" "char const *""'");
3275 arg2 = (char *)(buf2);
3277 SWIG_exception(SWIG_ValueError,
3278 "ldb context must be non-NULL");
3279 result = (ldb_dn *)new_ldb_dn(arg1,(char const *)arg2);
3280 resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_ldb_dn, SWIG_POINTER_NEW | 0 );
3281 if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
3284 if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
3289 SWIGINTERN PyObject *_wrap_delete_Dn(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3290 PyObject *resultobj = 0;
3291 ldb_dn *arg1 = (ldb_dn *) 0 ;
3294 PyObject *swig_obj[1] ;
3296 if (!args) SWIG_fail;
3298 res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_ldb_dn, SWIG_POINTER_DISOWN | 0 );
3299 if (!SWIG_IsOK(res1)) {
3300 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_Dn" "', argument " "1"" of type '" "ldb_dn *""'");
3302 arg1 = (ldb_dn *)(argp1);
3303 delete_ldb_dn(arg1);
3305 resultobj = SWIG_Py_Void();
3312 SWIGINTERN PyObject *_wrap_Dn_validate(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3313 PyObject *resultobj = 0;
3314 ldb_dn *arg1 = (ldb_dn *) 0 ;
3318 PyObject *swig_obj[1] ;
3320 if (!args) SWIG_fail;
3322 res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_ldb_dn, 0 | 0 );
3323 if (!SWIG_IsOK(res1)) {
3324 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Dn_validate" "', argument " "1"" of type '" "ldb_dn *""'");
3326 arg1 = (ldb_dn *)(argp1);
3327 result = (bool)ldb_dn_validate(arg1);
3328 resultobj = SWIG_From_bool((bool)(result));
3335 SWIGINTERN PyObject *_wrap_Dn_get_casefold(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3336 PyObject *resultobj = 0;
3337 ldb_dn *arg1 = (ldb_dn *) 0 ;
3341 PyObject *swig_obj[1] ;
3343 if (!args) SWIG_fail;
3345 res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_ldb_dn, 0 | 0 );
3346 if (!SWIG_IsOK(res1)) {
3347 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Dn_get_casefold" "', argument " "1"" of type '" "ldb_dn *""'");
3349 arg1 = (ldb_dn *)(argp1);
3350 result = (char *)ldb_dn_get_casefold(arg1);
3351 resultobj = SWIG_FromCharPtr((const char *)result);
3358 SWIGINTERN PyObject *_wrap_Dn___str__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3359 PyObject *resultobj = 0;
3360 ldb_dn *arg1 = (ldb_dn *) 0 ;
3364 PyObject *swig_obj[1] ;
3366 if (!args) SWIG_fail;
3368 res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_ldb_dn, 0 | 0 );
3369 if (!SWIG_IsOK(res1)) {
3370 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Dn___str__" "', argument " "1"" of type '" "ldb_dn *""'");
3372 arg1 = (ldb_dn *)(argp1);
3373 result = (char *)ldb_dn_get_linearized(arg1);
3374 resultobj = SWIG_FromCharPtr((const char *)result);
3381 SWIGINTERN PyObject *_wrap_Dn_parent(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3382 PyObject *resultobj = 0;
3383 ldb_dn *arg1 = (ldb_dn *) 0 ;
3384 ldb_dn *result = 0 ;
3387 PyObject *swig_obj[1] ;
3389 if (!args) SWIG_fail;
3391 res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_ldb_dn, 0 | 0 );
3392 if (!SWIG_IsOK(res1)) {
3393 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Dn_parent" "', argument " "1"" of type '" "ldb_dn *""'");
3395 arg1 = (ldb_dn *)(argp1);
3396 result = (ldb_dn *)ldb_dn_parent(arg1);
3397 resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_ldb_dn, 0 | 0 );
3404 SWIGINTERN PyObject *_wrap_Dn___cmp__(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
3405 PyObject *resultobj = 0;
3406 ldb_dn *arg1 = (ldb_dn *) 0 ;
3407 ldb_dn *arg2 = (ldb_dn *) 0 ;
3413 PyObject * obj0 = 0 ;
3414 PyObject * obj1 = 0 ;
3415 char * kwnames[] = {
3416 (char *) "self",(char *) "other", NULL
3419 if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:Dn___cmp__",kwnames,&obj0,&obj1)) SWIG_fail;
3420 res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ldb_dn, 0 | 0 );
3421 if (!SWIG_IsOK(res1)) {
3422 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Dn___cmp__" "', argument " "1"" of type '" "ldb_dn *""'");
3424 arg1 = (ldb_dn *)(argp1);
3425 res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_ldb_dn, 0 | 0 );
3426 if (!SWIG_IsOK(res2)) {
3427 SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Dn___cmp__" "', argument " "2"" of type '" "ldb_dn *""'");
3429 arg2 = (ldb_dn *)(argp2);
3430 result = (int)ldb_dn_compare(arg1,arg2);
3431 resultobj = SWIG_From_int((int)(result));
3438 SWIGINTERN PyObject *_wrap_Dn_is_valid(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3439 PyObject *resultobj = 0;
3440 ldb_dn *arg1 = (ldb_dn *) 0 ;
3444 PyObject *swig_obj[1] ;
3446 if (!args) SWIG_fail;
3448 res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_ldb_dn, 0 | 0 );
3449 if (!SWIG_IsOK(res1)) {
3450 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Dn_is_valid" "', argument " "1"" of type '" "ldb_dn *""'");
3452 arg1 = (ldb_dn *)(argp1);
3453 result = (bool)ldb_dn_is_valid(arg1);
3454 resultobj = SWIG_From_bool((bool)(result));
3461 SWIGINTERN PyObject *_wrap_Dn_is_special(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3462 PyObject *resultobj = 0;
3463 ldb_dn *arg1 = (ldb_dn *) 0 ;
3467 PyObject *swig_obj[1] ;
3469 if (!args) SWIG_fail;
3471 res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_ldb_dn, 0 | 0 );
3472 if (!SWIG_IsOK(res1)) {
3473 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Dn_is_special" "', argument " "1"" of type '" "ldb_dn *""'");
3475 arg1 = (ldb_dn *)(argp1);
3476 result = (bool)ldb_dn_is_special(arg1);
3477 resultobj = SWIG_From_bool((bool)(result));
3484 SWIGINTERN PyObject *_wrap_Dn_is_null(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3485 PyObject *resultobj = 0;
3486 ldb_dn *arg1 = (ldb_dn *) 0 ;
3490 PyObject *swig_obj[1] ;
3492 if (!args) SWIG_fail;
3494 res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_ldb_dn, 0 | 0 );
3495 if (!SWIG_IsOK(res1)) {
3496 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Dn_is_null" "', argument " "1"" of type '" "ldb_dn *""'");
3498 arg1 = (ldb_dn *)(argp1);
3499 result = (bool)ldb_dn_is_null(arg1);
3500 resultobj = SWIG_From_bool((bool)(result));
3507 SWIGINTERN PyObject *_wrap_Dn_check_special(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
3508 PyObject *resultobj = 0;
3509 ldb_dn *arg1 = (ldb_dn *) 0 ;
3510 char *arg2 = (char *) 0 ;
3517 PyObject * obj0 = 0 ;
3518 PyObject * obj1 = 0 ;
3519 char * kwnames[] = {
3520 (char *) "self",(char *) "name", NULL
3523 if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:Dn_check_special",kwnames,&obj0,&obj1)) SWIG_fail;
3524 res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ldb_dn, 0 | 0 );
3525 if (!SWIG_IsOK(res1)) {
3526 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Dn_check_special" "', argument " "1"" of type '" "ldb_dn *""'");
3528 arg1 = (ldb_dn *)(argp1);
3529 res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
3530 if (!SWIG_IsOK(res2)) {
3531 SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Dn_check_special" "', argument " "2"" of type '" "char const *""'");
3533 arg2 = (char *)(buf2);
3534 result = (bool)ldb_dn_check_special(arg1,(char const *)arg2);
3535 resultobj = SWIG_From_bool((bool)(result));
3536 if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
3539 if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
3544 SWIGINTERN PyObject *_wrap_Dn___len__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3545 PyObject *resultobj = 0;
3546 ldb_dn *arg1 = (ldb_dn *) 0 ;
3550 PyObject *swig_obj[1] ;
3552 if (!args) SWIG_fail;
3554 res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_ldb_dn, 0 | 0 );
3555 if (!SWIG_IsOK(res1)) {
3556 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Dn___len__" "', argument " "1"" of type '" "ldb_dn *""'");
3558 arg1 = (ldb_dn *)(argp1);
3559 result = (int)ldb_dn_get_comp_num(arg1);
3560 resultobj = SWIG_From_int((int)(result));
3567 SWIGINTERN PyObject *_wrap_Dn_add_child(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
3568 PyObject *resultobj = 0;
3569 ldb_dn *arg1 = (ldb_dn *) 0 ;
3570 ldb_dn *arg2 = (ldb_dn *) 0 ;
3576 PyObject * obj0 = 0 ;
3577 PyObject * obj1 = 0 ;
3578 char * kwnames[] = {
3579 (char *) "self",(char *) "child", NULL
3582 if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:Dn_add_child",kwnames,&obj0,&obj1)) SWIG_fail;
3583 res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ldb_dn, 0 | 0 );
3584 if (!SWIG_IsOK(res1)) {
3585 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Dn_add_child" "', argument " "1"" of type '" "ldb_dn *""'");
3587 arg1 = (ldb_dn *)(argp1);
3588 res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_ldb_dn, 0 | 0 );
3589 if (!SWIG_IsOK(res2)) {
3590 SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Dn_add_child" "', argument " "2"" of type '" "ldb_dn *""'");
3592 arg2 = (ldb_dn *)(argp2);
3593 result = (bool)ldb_dn_add_child(arg1,arg2);
3594 resultobj = SWIG_From_bool((bool)(result));
3601 SWIGINTERN PyObject *_wrap_Dn_add_base(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
3602 PyObject *resultobj = 0;
3603 ldb_dn *arg1 = (ldb_dn *) 0 ;
3604 ldb_dn *arg2 = (ldb_dn *) 0 ;
3610 PyObject * obj0 = 0 ;
3611 PyObject * obj1 = 0 ;
3612 char * kwnames[] = {
3613 (char *) "self",(char *) "base", NULL
3616 if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:Dn_add_base",kwnames,&obj0,&obj1)) SWIG_fail;
3617 res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ldb_dn, 0 | 0 );
3618 if (!SWIG_IsOK(res1)) {
3619 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Dn_add_base" "', argument " "1"" of type '" "ldb_dn *""'");
3621 arg1 = (ldb_dn *)(argp1);
3622 res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_ldb_dn, 0 | 0 );
3623 if (!SWIG_IsOK(res2)) {
3624 SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Dn_add_base" "', argument " "2"" of type '" "ldb_dn *""'");
3626 arg2 = (ldb_dn *)(argp2);
3627 result = (bool)ldb_dn_add_base(arg1,arg2);
3628 resultobj = SWIG_From_bool((bool)(result));
3635 SWIGINTERN PyObject *_wrap_Dn_canonical_str(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3636 PyObject *resultobj = 0;
3637 ldb_dn *arg1 = (ldb_dn *) 0 ;
3641 PyObject *swig_obj[1] ;
3643 if (!args) SWIG_fail;
3645 res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_ldb_dn, 0 | 0 );
3646 if (!SWIG_IsOK(res1)) {
3647 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Dn_canonical_str" "', argument " "1"" of type '" "ldb_dn *""'");
3649 arg1 = (ldb_dn *)(argp1);
3650 result = (char *)ldb_dn_canonical_str(arg1);
3651 resultobj = SWIG_FromCharPtr((const char *)result);
3658 SWIGINTERN PyObject *_wrap_Dn_canonical_ex_str(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3659 PyObject *resultobj = 0;
3660 ldb_dn *arg1 = (ldb_dn *) 0 ;
3664 PyObject *swig_obj[1] ;
3666 if (!args) SWIG_fail;
3668 res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_ldb_dn, 0 | 0 );
3669 if (!SWIG_IsOK(res1)) {
3670 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Dn_canonical_ex_str" "', argument " "1"" of type '" "ldb_dn *""'");
3672 arg1 = (ldb_dn *)(argp1);
3673 result = (char *)ldb_dn_canonical_ex_str(arg1);
3674 resultobj = SWIG_FromCharPtr((const char *)result);
3681 SWIGINTERN PyObject *_wrap_Dn___add__(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
3682 PyObject *resultobj = 0;
3683 ldb_dn *arg1 = (ldb_dn *) 0 ;
3684 ldb_dn *arg2 = (ldb_dn *) 0 ;
3685 ldb_dn *result = 0 ;
3690 PyObject * obj0 = 0 ;
3691 PyObject * obj1 = 0 ;
3692 char * kwnames[] = {
3693 (char *) "self",(char *) "other", NULL
3696 if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:Dn___add__",kwnames,&obj0,&obj1)) SWIG_fail;
3697 res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ldb_dn, 0 | 0 );
3698 if (!SWIG_IsOK(res1)) {
3699 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Dn___add__" "', argument " "1"" of type '" "ldb_dn *""'");
3701 arg1 = (ldb_dn *)(argp1);
3702 res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_ldb_dn, 0 | 0 );
3703 if (!SWIG_IsOK(res2)) {
3704 SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Dn___add__" "', argument " "2"" of type '" "ldb_dn *""'");
3706 arg2 = (ldb_dn *)(argp2);
3707 result = (ldb_dn *)ldb_dn___add__(arg1,arg2);
3708 resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_ldb_dn, 0 | 0 );
3715 SWIGINTERN PyObject *Dn_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3717 if (!SWIG_Python_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL;
3718 SWIG_TypeNewClientData(SWIGTYPE_p_ldb_dn, SWIG_NewClientData(obj));
3719 return SWIG_Py_Void();
3722 SWIGINTERN PyObject *Dn_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3723 return SWIG_Python_InitShadowInstance(args);
3726 SWIGINTERN PyObject *_wrap_ldb_msg_element___iter__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3727 PyObject *resultobj = 0;
3728 ldb_msg_element *arg1 = (ldb_msg_element *) 0 ;
3729 PyObject *result = 0 ;
3732 PyObject *swig_obj[1] ;
3734 if (!args) SWIG_fail;
3736 res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_ldb_message_element, 0 | 0 );
3737 if (!SWIG_IsOK(res1)) {
3738 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ldb_msg_element___iter__" "', argument " "1"" of type '" "ldb_msg_element *""'");
3740 arg1 = (ldb_msg_element *)(argp1);
3741 result = (PyObject *)ldb_msg_element___iter__(arg1);
3749 SWIGINTERN PyObject *_wrap_ldb_msg_element___set__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3750 PyObject *resultobj = 0;
3751 ldb_msg_element *arg1 = (ldb_msg_element *) 0 ;
3752 PyObject *result = 0 ;
3755 PyObject *swig_obj[1] ;
3757 if (!args) SWIG_fail;
3759 res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_ldb_message_element, 0 | 0 );
3760 if (!SWIG_IsOK(res1)) {
3761 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ldb_msg_element___set__" "', argument " "1"" of type '" "ldb_msg_element *""'");
3763 arg1 = (ldb_msg_element *)(argp1);
3764 result = (PyObject *)ldb_msg_element___set__(arg1);
3772 SWIGINTERN PyObject *_wrap_new_MessageElement(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
3773 PyObject *resultobj = 0;
3774 PyObject *arg1 = (PyObject *) 0 ;
3775 int arg2 = (int) 0 ;
3776 char *arg3 = (char *) NULL ;
3777 ldb_msg_element *result = 0 ;
3783 PyObject * obj0 = 0 ;
3784 PyObject * obj1 = 0 ;
3785 PyObject * obj2 = 0 ;
3786 char * kwnames[] = {
3787 (char *) "set_obj",(char *) "flags",(char *) "name", NULL
3790 if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|OO:new_MessageElement",kwnames,&obj0,&obj1,&obj2)) SWIG_fail;
3793 ecode2 = SWIG_AsVal_int(obj1, &val2);
3794 if (!SWIG_IsOK(ecode2)) {
3795 SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_MessageElement" "', argument " "2"" of type '" "int""'");
3800 res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
3801 if (!SWIG_IsOK(res3)) {
3802 SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "new_MessageElement" "', argument " "3"" of type '" "char const *""'");
3804 arg3 = (char *)(buf3);
3806 result = (ldb_msg_element *)new_ldb_msg_element(arg1,arg2,(char const *)arg3);
3807 resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_ldb_message_element, SWIG_POINTER_OWN | 0 );
3808 if (alloc3 == SWIG_NEWOBJ) free((char*)buf3);
3811 if (alloc3 == SWIG_NEWOBJ) free((char*)buf3);
3816 SWIGINTERN PyObject *_wrap_ldb_msg_element___len__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3817 PyObject *resultobj = 0;
3818 ldb_msg_element *arg1 = (ldb_msg_element *) 0 ;
3822 PyObject *swig_obj[1] ;
3824 if (!args) SWIG_fail;
3826 res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_ldb_message_element, 0 | 0 );
3827 if (!SWIG_IsOK(res1)) {
3828 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ldb_msg_element___len__" "', argument " "1"" of type '" "ldb_msg_element *""'");
3830 arg1 = (ldb_msg_element *)(argp1);
3831 result = (int)ldb_msg_element___len__(arg1);
3832 resultobj = SWIG_From_int((int)(result));
3839 SWIGINTERN PyObject *_wrap_ldb_msg_element_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
3840 PyObject *resultobj = 0;
3841 ldb_msg_element *arg1 = (ldb_msg_element *) 0 ;
3843 PyObject *result = 0 ;
3848 PyObject * obj0 = 0 ;
3849 PyObject * obj1 = 0 ;
3850 char * kwnames[] = {
3851 (char *) "self",(char *) "i", NULL
3854 if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:ldb_msg_element_get",kwnames,&obj0,&obj1)) SWIG_fail;
3855 res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ldb_message_element, 0 | 0 );
3856 if (!SWIG_IsOK(res1)) {
3857 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ldb_msg_element_get" "', argument " "1"" of type '" "ldb_msg_element *""'");
3859 arg1 = (ldb_msg_element *)(argp1);
3860 ecode2 = SWIG_AsVal_int(obj1, &val2);
3861 if (!SWIG_IsOK(ecode2)) {
3862 SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "ldb_msg_element_get" "', argument " "2"" of type '" "int""'");
3865 result = (PyObject *)ldb_msg_element_get(arg1,arg2);
3873 SWIGINTERN PyObject *_wrap_delete_ldb_msg_element(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3874 PyObject *resultobj = 0;
3875 ldb_msg_element *arg1 = (ldb_msg_element *) 0 ;
3878 PyObject *swig_obj[1] ;
3880 if (!args) SWIG_fail;
3882 res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_ldb_message_element, SWIG_POINTER_DISOWN | 0 );
3883 if (!SWIG_IsOK(res1)) {
3884 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_ldb_msg_element" "', argument " "1"" of type '" "ldb_msg_element *""'");
3886 arg1 = (ldb_msg_element *)(argp1);
3887 delete_ldb_msg_element(arg1);
3889 resultobj = SWIG_Py_Void();
3896 SWIGINTERN PyObject *_wrap_ldb_msg_element___cmp__(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
3897 PyObject *resultobj = 0;
3898 ldb_msg_element *arg1 = (ldb_msg_element *) 0 ;
3899 ldb_msg_element *arg2 = (ldb_msg_element *) 0 ;
3905 PyObject * obj0 = 0 ;
3906 PyObject * obj1 = 0 ;
3907 char * kwnames[] = {
3908 (char *) "self",(char *)"arg2", NULL
3911 if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:ldb_msg_element___cmp__",kwnames,&obj0,&obj1)) SWIG_fail;
3912 res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ldb_message_element, 0 | 0 );
3913 if (!SWIG_IsOK(res1)) {
3914 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ldb_msg_element___cmp__" "', argument " "1"" of type '" "ldb_msg_element *""'");
3916 arg1 = (ldb_msg_element *)(argp1);
3917 res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_ldb_message_element, 0 | 0 );
3918 if (!SWIG_IsOK(res2)) {
3919 SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "ldb_msg_element___cmp__" "', argument " "2"" of type '" "ldb_msg_element *""'");
3921 arg2 = (ldb_msg_element *)(argp2);
3922 result = (int)ldb_msg_element_compare(arg1,arg2);
3923 resultobj = SWIG_From_int((int)(result));
3930 SWIGINTERN PyObject *ldb_msg_element_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3932 if (!SWIG_Python_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL;
3933 SWIG_TypeNewClientData(SWIGTYPE_p_ldb_message_element, SWIG_NewClientData(obj));
3934 return SWIG_Py_Void();
3937 SWIGINTERN PyObject *_wrap_ldb_msg_list_elements(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
3938 PyObject *resultobj = 0;
3939 ldb_msg *arg1 = (ldb_msg *) 0 ;
3940 PyObject *result = 0 ;
3943 PyObject * obj0 = 0 ;
3944 char * kwnames[] = {
3945 (char *) "msg", NULL
3948 if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ldb_msg_list_elements",kwnames,&obj0)) SWIG_fail;
3949 res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ldb_message, 0 | 0 );
3950 if (!SWIG_IsOK(res1)) {
3951 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ldb_msg_list_elements" "', argument " "1"" of type '" "ldb_msg *""'");
3953 arg1 = (ldb_msg *)(argp1);
3955 SWIG_exception(SWIG_ValueError,
3956 "Message can not be None");
3957 result = (PyObject *)ldb_msg_list_elements(arg1);
3965 SWIGINTERN PyObject *_wrap_Message_dn_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3966 PyObject *resultobj = 0;
3967 ldb_msg *arg1 = (ldb_msg *) 0 ;
3968 ldb_dn *arg2 = (ldb_dn *) 0 ;
3973 PyObject *swig_obj[2] ;
3975 if (!SWIG_Python_UnpackTuple(args,"Message_dn_set",2,2,swig_obj)) SWIG_fail;
3976 res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_ldb_message, 0 | 0 );
3977 if (!SWIG_IsOK(res1)) {
3978 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Message_dn_set" "', argument " "1"" of type '" "ldb_msg *""'");
3980 arg1 = (ldb_msg *)(argp1);
3981 res2 = SWIG_ConvertPtr(swig_obj[1], &argp2,SWIGTYPE_p_ldb_dn, SWIG_POINTER_DISOWN | 0 );
3982 if (!SWIG_IsOK(res2)) {
3983 SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Message_dn_set" "', argument " "2"" of type '" "ldb_dn *""'");
3985 arg2 = (ldb_dn *)(argp2);
3987 SWIG_exception(SWIG_ValueError,
3988 "Message can not be None");
3989 if (arg1) (arg1)->dn = arg2;
3991 resultobj = SWIG_Py_Void();
3998 SWIGINTERN PyObject *_wrap_Message_dn_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3999 PyObject *resultobj = 0;
4000 ldb_msg *arg1 = (ldb_msg *) 0 ;
4001 ldb_dn *result = 0 ;
4004 PyObject *swig_obj[1] ;
4006 if (!args) SWIG_fail;
4008 res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_ldb_message, 0 | 0 );
4009 if (!SWIG_IsOK(res1)) {
4010 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Message_dn_get" "', argument " "1"" of type '" "ldb_msg *""'");
4012 arg1 = (ldb_msg *)(argp1);
4014 SWIG_exception(SWIG_ValueError,
4015 "Message can not be None");
4016 result = (ldb_dn *) ((arg1)->dn);
4017 resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_ldb_dn, 0 | 0 );
4024 SWIGINTERN PyObject *_wrap_new_Message(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
4025 PyObject *resultobj = 0;
4026 ldb_dn *arg1 = (ldb_dn *) NULL ;
4027 ldb_msg *result = 0 ;
4030 PyObject * obj0 = 0 ;
4031 char * kwnames[] = {
4035 if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"|O:new_Message",kwnames,&obj0)) SWIG_fail;
4037 res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ldb_dn, 0 | 0 );
4038 if (!SWIG_IsOK(res1)) {
4039 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_Message" "', argument " "1"" of type '" "ldb_dn *""'");
4041 arg1 = (ldb_dn *)(argp1);
4043 result = (ldb_msg *)new_ldb_msg(arg1);
4044 resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_ldb_message, SWIG_POINTER_NEW | 0 );
4051 SWIGINTERN PyObject *_wrap_delete_Message(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
4052 PyObject *resultobj = 0;
4053 ldb_msg *arg1 = (ldb_msg *) 0 ;
4056 PyObject *swig_obj[1] ;
4058 if (!args) SWIG_fail;
4060 res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_ldb_message, SWIG_POINTER_DISOWN | 0 );
4061 if (!SWIG_IsOK(res1)) {
4062 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_Message" "', argument " "1"" of type '" "ldb_msg *""'");
4064 arg1 = (ldb_msg *)(argp1);
4066 SWIG_exception(SWIG_ValueError,
4067 "Message can not be None");
4068 delete_ldb_msg(arg1);
4070 resultobj = SWIG_Py_Void();
4077 SWIGINTERN PyObject *_wrap_Message___getitem__(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
4078 PyObject *resultobj = 0;
4079 ldb_msg *arg1 = (ldb_msg *) 0 ;
4080 char *arg2 = (char *) 0 ;
4081 ldb_msg_element *result = 0 ;
4087 PyObject * obj0 = 0 ;
4088 PyObject * obj1 = 0 ;
4089 char * kwnames[] = {
4090 (char *) "self",(char *) "name", NULL
4093 if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:Message___getitem__",kwnames,&obj0,&obj1)) SWIG_fail;
4094 res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ldb_message, 0 | 0 );
4095 if (!SWIG_IsOK(res1)) {
4096 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Message___getitem__" "', argument " "1"" of type '" "ldb_msg *""'");
4098 arg1 = (ldb_msg *)(argp1);
4099 res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
4100 if (!SWIG_IsOK(res2)) {
4101 SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Message___getitem__" "', argument " "2"" of type '" "char const *""'");
4103 arg2 = (char *)(buf2);
4105 SWIG_exception(SWIG_ValueError,
4106 "Message can not be None");
4107 result = (ldb_msg_element *)ldb_msg_find_element(arg1,(char const *)arg2);
4110 PyErr_SetString(PyExc_KeyError, "no such element");
4112 resultobj = SWIG_NewPointerObj(result, SWIGTYPE_p_ldb_message_element, 0);
4114 if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
4117 if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
4122 SWIGINTERN PyObject *_wrap_Message___setitem____SWIG_0(PyObject *SWIGUNUSEDPARM(self), int nobjs, PyObject **swig_obj) {
4123 PyObject *resultobj = 0;
4124 ldb_msg *arg1 = (ldb_msg *) 0 ;
4125 char *arg2 = (char *) 0 ;
4126 ldb_msg_element *arg3 = (ldb_msg_element *) 0 ;
4135 if ((nobjs < 3) || (nobjs > 3)) SWIG_fail;
4136 res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_ldb_message, 0 | 0 );
4137 if (!SWIG_IsOK(res1)) {
4138 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Message___setitem__" "', argument " "1"" of type '" "ldb_msg *""'");
4140 arg1 = (ldb_msg *)(argp1);
4141 res2 = SWIG_AsCharPtrAndSize(swig_obj[1], &buf2, NULL, &alloc2);
4142 if (!SWIG_IsOK(res2)) {
4143 SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Message___setitem__" "', argument " "2"" of type '" "char const *""'");
4145 arg2 = (char *)(buf2);
4146 res3 = SWIG_ConvertPtr(swig_obj[2], &argp3,SWIGTYPE_p_ldb_message_element, 0 | 0 );
4147 if (!SWIG_IsOK(res3)) {
4148 SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "Message___setitem__" "', argument " "3"" of type '" "ldb_msg_element *""'");
4150 arg3 = (ldb_msg_element *)(argp3);
4152 SWIG_exception(SWIG_ValueError,
4153 "Message can not be None");
4154 ldb_msg___setitem____SWIG_0(arg1,(char const *)arg2,arg3);
4155 resultobj = SWIG_Py_Void();
4156 if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
4159 if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
4164 SWIGINTERN PyObject *_wrap_Message___setitem____SWIG_1(PyObject *SWIGUNUSEDPARM(self), int nobjs, PyObject **swig_obj) {
4165 PyObject *resultobj = 0;
4166 ldb_msg *arg1 = (ldb_msg *) 0 ;
4167 char *arg2 = (char *) 0 ;
4168 PyObject *arg3 = (PyObject *) 0 ;
4175 if ((nobjs < 3) || (nobjs > 3)) SWIG_fail;
4176 res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_ldb_message, 0 | 0 );
4177 if (!SWIG_IsOK(res1)) {
4178 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Message___setitem__" "', argument " "1"" of type '" "ldb_msg *""'");
4180 arg1 = (ldb_msg *)(argp1);
4181 res2 = SWIG_AsCharPtrAndSize(swig_obj[1], &buf2, NULL, &alloc2);
4182 if (!SWIG_IsOK(res2)) {
4183 SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Message___setitem__" "', argument " "2"" of type '" "char const *""'");
4185 arg2 = (char *)(buf2);
4188 SWIG_exception(SWIG_ValueError,
4189 "Message can not be None");
4190 ldb_msg___setitem____SWIG_1(arg1,(char const *)arg2,arg3);
4191 resultobj = SWIG_Py_Void();
4192 if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
4195 if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
4200 SWIGINTERN PyObject *_wrap_Message___setitem__(PyObject *self, PyObject *args) {
4204 if (!(argc = SWIG_Python_UnpackTuple(args,"Message___setitem__",0,3,argv))) SWIG_fail;
4210 int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_ldb_message_element, 0);
4211 _v = SWIG_CheckState(res);
4213 if (!_v) goto check_1;
4214 return _wrap_Message___setitem____SWIG_0(self, argc, argv);
4219 return _wrap_Message___setitem____SWIG_1(self, argc, argv);
4223 SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Message___setitem__'.\n"
4224 " Possible C/C++ prototypes are:\n"
4225 " __setitem__(ldb_msg *,char const *,ldb_msg_element *)\n"
4226 " __setitem__(ldb_msg *,char const *,PyObject *)\n");
4231 SWIGINTERN PyObject *_wrap_Message___len__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
4232 PyObject *resultobj = 0;
4233 ldb_msg *arg1 = (ldb_msg *) 0 ;
4234 unsigned int result;
4237 PyObject *swig_obj[1] ;
4239 if (!args) SWIG_fail;
4241 res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_ldb_message, 0 | 0 );
4242 if (!SWIG_IsOK(res1)) {
4243 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Message___len__" "', argument " "1"" of type '" "ldb_msg *""'");
4245 arg1 = (ldb_msg *)(argp1);
4247 SWIG_exception(SWIG_ValueError,
4248 "Message can not be None");
4249 result = (unsigned int)ldb_msg___len__(arg1);
4250 resultobj = SWIG_From_unsigned_SS_int((unsigned int)(result));
4257 SWIGINTERN PyObject *_wrap_Message_keys(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
4258 PyObject *resultobj = 0;
4259 ldb_msg *arg1 = (ldb_msg *) 0 ;
4260 PyObject *result = 0 ;
4263 PyObject *swig_obj[1] ;
4265 if (!args) SWIG_fail;
4267 res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_ldb_message, 0 | 0 );
4268 if (!SWIG_IsOK(res1)) {
4269 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Message_keys" "', argument " "1"" of type '" "ldb_msg *""'");
4271 arg1 = (ldb_msg *)(argp1);
4273 SWIG_exception(SWIG_ValueError,
4274 "Message can not be None");
4275 result = (PyObject *)ldb_msg_keys(arg1);
4283 SWIGINTERN PyObject *_wrap_Message___iter__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
4284 PyObject *resultobj = 0;
4285 ldb_msg *arg1 = (ldb_msg *) 0 ;
4286 PyObject *result = 0 ;
4289 PyObject *swig_obj[1] ;
4291 if (!args) SWIG_fail;
4293 res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_ldb_message, 0 | 0 );
4294 if (!SWIG_IsOK(res1)) {
4295 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Message___iter__" "', argument " "1"" of type '" "ldb_msg *""'");
4297 arg1 = (ldb_msg *)(argp1);
4299 SWIG_exception(SWIG_ValueError,
4300 "Message can not be None");
4301 result = (PyObject *)ldb_msg___iter__(arg1);
4309 SWIGINTERN PyObject *_wrap_Message___delitem__(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
4310 PyObject *resultobj = 0;
4311 ldb_msg *arg1 = (ldb_msg *) 0 ;
4312 char *arg2 = (char *) 0 ;
4318 PyObject * obj0 = 0 ;
4319 PyObject * obj1 = 0 ;
4320 char * kwnames[] = {
4321 (char *) "self",(char *) "name", NULL
4324 if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:Message___delitem__",kwnames,&obj0,&obj1)) SWIG_fail;
4325 res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ldb_message, 0 | 0 );
4326 if (!SWIG_IsOK(res1)) {
4327 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Message___delitem__" "', argument " "1"" of type '" "ldb_msg *""'");
4329 arg1 = (ldb_msg *)(argp1);
4330 res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
4331 if (!SWIG_IsOK(res2)) {
4332 SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Message___delitem__" "', argument " "2"" of type '" "char const *""'");
4334 arg2 = (char *)(buf2);
4336 SWIG_exception(SWIG_ValueError,
4337 "Message can not be None");
4338 ldb_msg_remove_attr(arg1,(char const *)arg2);
4339 resultobj = SWIG_Py_Void();
4340 if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
4343 if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
4348 SWIGINTERN PyObject *Message_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
4350 if (!SWIG_Python_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL;
4351 SWIG_TypeNewClientData(SWIGTYPE_p_ldb_message, SWIG_NewClientData(obj));
4352 return SWIG_Py_Void();
4355 SWIGINTERN PyObject *Message_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
4356 return SWIG_Python_InitShadowInstance(args);
4359 SWIGINTERN PyObject *_wrap_ldb_ldif_to_pyobject(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
4360 PyObject *resultobj = 0;
4361 ldb_ldif *arg1 = (ldb_ldif *) 0 ;
4362 PyObject *result = 0 ;
4365 PyObject * obj0 = 0 ;
4366 char * kwnames[] = {
4367 (char *) "ldif", NULL
4370 if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ldb_ldif_to_pyobject",kwnames,&obj0)) SWIG_fail;
4371 res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ldb_ldif, 0 | 0 );
4372 if (!SWIG_IsOK(res1)) {
4373 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ldb_ldif_to_pyobject" "', argument " "1"" of type '" "ldb_ldif *""'");
4375 arg1 = (ldb_ldif *)(argp1);
4376 result = (PyObject *)ldb_ldif_to_pyobject(arg1);
4384 SWIGINTERN PyObject *_wrap_new_Ldb(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
4385 PyObject *resultobj = 0;
4388 if (!SWIG_Python_UnpackTuple(args,"new_Ldb",0,0,0)) SWIG_fail;
4389 result = (ldb *)new_ldb();
4390 resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_ldb_context, SWIG_POINTER_NEW | 0 );
4397 SWIGINTERN PyObject *_wrap_Ldb_connect(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
4398 PyObject *resultobj = 0;
4399 ldb *arg1 = (ldb *) 0 ;
4400 char *arg2 = (char *) 0 ;
4401 unsigned int arg3 = (unsigned int) 0 ;
4402 char **arg4 = (char **) (char **)NULL ;
4413 PyObject * obj0 = 0 ;
4414 PyObject * obj1 = 0 ;
4415 PyObject * obj2 = 0 ;
4416 PyObject * obj3 = 0 ;
4417 char * kwnames[] = {
4418 (char *) "self",(char *) "url",(char *) "flags",(char *) "options", NULL
4421 if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|OO:Ldb_connect",kwnames,&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
4422 res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ldb_context, 0 | 0 );
4423 if (!SWIG_IsOK(res1)) {
4424 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Ldb_connect" "', argument " "1"" of type '" "ldb *""'");
4426 arg1 = (ldb *)(argp1);
4427 res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
4428 if (!SWIG_IsOK(res2)) {
4429 SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Ldb_connect" "', argument " "2"" of type '" "char const *""'");
4431 arg2 = (char *)(buf2);
4433 ecode3 = SWIG_AsVal_unsigned_SS_int(obj2, &val3);
4434 if (!SWIG_IsOK(ecode3)) {
4435 SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Ldb_connect" "', argument " "3"" of type '" "unsigned int""'");
4437 arg3 = (unsigned int)(val3);
4440 res4 = SWIG_ConvertPtr(obj3, &argp4,SWIGTYPE_p_p_char, 0 | 0 );
4441 if (!SWIG_IsOK(res4)) {
4442 SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "Ldb_connect" "', argument " "4"" of type '" "char const *[]""'");
4444 arg4 = (char **)(argp4);
4447 SWIG_exception(SWIG_ValueError,
4448 "ldb context must be non-NULL");
4449 result = ldb_connect(arg1,(char const *)arg2,arg3,(char const *(*))arg4);
4451 PyErr_SetObject(PyExc_LdbError, Py_BuildValue((char *)"(i,s)", result, ldb_errstring(arg1)));
4454 resultobj = Py_None;
4455 if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
4458 if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
4463 SWIGINTERN PyObject *_wrap_delete_Ldb(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
4464 PyObject *resultobj = 0;
4465 ldb *arg1 = (ldb *) 0 ;
4468 PyObject *swig_obj[1] ;
4470 if (!args) SWIG_fail;
4472 res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_ldb_context, SWIG_POINTER_DISOWN | 0 );
4473 if (!SWIG_IsOK(res1)) {
4474 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_Ldb" "', argument " "1"" of type '" "ldb *""'");
4476 arg1 = (ldb *)(argp1);
4478 SWIG_exception(SWIG_ValueError,
4479 "ldb context must be non-NULL");
4482 resultobj = SWIG_Py_Void();
4489 SWIGINTERN PyObject *_wrap_Ldb_search_ex(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
4490 PyObject *resultobj = 0;
4491 ldb *arg1 = (ldb *) 0 ;
4492 TALLOC_CTX *arg2 = (TALLOC_CTX *) 0 ;
4493 ldb_dn *arg3 = (ldb_dn *) NULL ;
4494 enum ldb_scope arg4 = (enum ldb_scope) LDB_SCOPE_DEFAULT ;
4495 char *arg5 = (char *) NULL ;
4496 char **arg6 = (char **) NULL ;
4497 struct ldb_control **arg7 = (struct ldb_control **) NULL ;
4498 struct ldb_result **arg8 = (struct ldb_result **) 0 ;
4509 struct ldb_result *temp_ldb_result8 ;
4511 PyObject * obj0 = 0 ;
4512 PyObject * obj1 = 0 ;
4513 PyObject * obj2 = 0 ;
4514 PyObject * obj3 = 0 ;
4515 PyObject * obj4 = 0 ;
4516 PyObject * obj5 = 0 ;
4517 char * kwnames[] = {
4518 (char *) "self",(char *) "base",(char *) "scope",(char *) "expression",(char *) "attrs",(char *) "controls", NULL
4522 arg8 = &temp_ldb_result8;
4523 if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|OOOOO:Ldb_search_ex",kwnames,&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
4524 res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ldb_context, 0 | 0 );
4525 if (!SWIG_IsOK(res1)) {
4526 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Ldb_search_ex" "', argument " "1"" of type '" "ldb *""'");
4528 arg1 = (ldb *)(argp1);
4530 if (ldb_dn_from_pyobject(NULL, obj1, arg1, &arg3) != 0) {
4535 ecode4 = SWIG_AsVal_int(obj2, &val4);
4536 if (!SWIG_IsOK(ecode4)) {
4537 SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Ldb_search_ex" "', argument " "4"" of type '" "enum ldb_scope""'");
4539 arg4 = (enum ldb_scope)(val4);
4542 res5 = SWIG_AsCharPtrAndSize(obj3, &buf5, NULL, &alloc5);
4543 if (!SWIG_IsOK(res5)) {
4544 SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "Ldb_search_ex" "', argument " "5"" of type '" "char const *""'");
4546 arg5 = (char *)(buf5);
4549 if (obj4 == Py_None) {
4551 } else if (PySequence_Check(obj4)) {
4553 arg6 = talloc_array(NULL, char *, PySequence_Size(obj4)+1);
4554 for(i = 0; i < PySequence_Size(obj4); i++)
4555 arg6[i] = PyString_AsString(PySequence_GetItem(obj4, i));
4558 SWIG_exception(SWIG_TypeError, "expected sequence");
4562 res7 = SWIG_ConvertPtr(obj5, &argp7,SWIGTYPE_p_p_ldb_control, 0 | 0 );
4563 if (!SWIG_IsOK(res7)) {
4564 SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "Ldb_search_ex" "', argument " "7"" of type '" "struct ldb_control **""'");
4566 arg7 = (struct ldb_control **)(argp7);
4569 SWIG_exception(SWIG_ValueError,
4570 "ldb context must be non-NULL");
4571 result = ldb_search_ex(arg1,arg2,arg3,arg4,(char const *)arg5,(char const *const *)arg6,arg7,arg8);
4573 PyErr_SetObject(PyExc_LdbError, Py_BuildValue((char *)"(i,s)", result, ldb_errstring(arg1)));
4576 resultobj = Py_None;
4577 resultobj = PyList_New((*arg8)->count);
4578 for (i8 = 0; i8 < (*arg8)->count; i8++) {
4579 PyList_SetItem(resultobj, i8,
4580 SWIG_NewPointerObj((*arg8)->msgs[i8], SWIGTYPE_p_ldb_message, 0)
4584 if (alloc5 == SWIG_NEWOBJ) free((char*)buf5);
4589 if (alloc5 == SWIG_NEWOBJ) free((char*)buf5);
4595 SWIGINTERN PyObject *_wrap_Ldb_delete(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
4596 PyObject *resultobj = 0;
4597 ldb *arg1 = (ldb *) 0 ;
4598 ldb_dn *arg2 = (ldb_dn *) 0 ;
4602 PyObject * obj0 = 0 ;
4603 PyObject * obj1 = 0 ;
4604 char * kwnames[] = {
4605 (char *) "self",(char *) "dn", NULL
4608 if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:Ldb_delete",kwnames,&obj0,&obj1)) SWIG_fail;
4609 res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ldb_context, 0 | 0 );
4610 if (!SWIG_IsOK(res1)) {
4611 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Ldb_delete" "', argument " "1"" of type '" "ldb *""'");
4613 arg1 = (ldb *)(argp1);
4614 if (ldb_dn_from_pyobject(NULL, obj1, arg1, &arg2) != 0) {
4618 SWIG_exception(SWIG_ValueError,
4619 "ldb context must be non-NULL");
4620 result = ldb_delete(arg1,arg2);
4622 PyErr_SetObject(PyExc_LdbError, Py_BuildValue((char *)"(i,s)", result, ldb_errstring(arg1)));
4625 resultobj = Py_None;
4634 SWIGINTERN PyObject *_wrap_Ldb_rename(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
4635 PyObject *resultobj = 0;
4636 ldb *arg1 = (ldb *) 0 ;
4637 ldb_dn *arg2 = (ldb_dn *) 0 ;
4638 ldb_dn *arg3 = (ldb_dn *) 0 ;
4642 PyObject * obj0 = 0 ;
4643 PyObject * obj1 = 0 ;
4644 PyObject * obj2 = 0 ;
4645 char * kwnames[] = {
4646 (char *) "self",(char *) "olddn",(char *) "newdn", NULL
4649 if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:Ldb_rename",kwnames,&obj0,&obj1,&obj2)) SWIG_fail;
4650 res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ldb_context, 0 | 0 );
4651 if (!SWIG_IsOK(res1)) {
4652 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Ldb_rename" "', argument " "1"" of type '" "ldb *""'");
4654 arg1 = (ldb *)(argp1);
4655 if (ldb_dn_from_pyobject(NULL, obj1, arg1, &arg2) != 0) {
4658 if (ldb_dn_from_pyobject(NULL, obj2, arg1, &arg3) != 0) {
4662 SWIG_exception(SWIG_ValueError,
4663 "ldb context must be non-NULL");
4664 result = ldb_rename(arg1,arg2,arg3);
4666 PyErr_SetObject(PyExc_LdbError, Py_BuildValue((char *)"(i,s)", result, ldb_errstring(arg1)));
4669 resultobj = Py_None;
4680 SWIGINTERN PyObject *_wrap_Ldb_parse_control_strings(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
4681 PyObject *resultobj = 0;
4682 ldb *arg1 = (ldb *) 0 ;
4683 TALLOC_CTX *arg2 = (TALLOC_CTX *) 0 ;
4684 char **arg3 = (char **) 0 ;
4685 struct ldb_control **result = 0 ;
4688 PyObject * obj0 = 0 ;
4689 PyObject * obj1 = 0 ;
4690 char * kwnames[] = {
4691 (char *) "self",(char *) "control_strings", NULL
4695 if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:Ldb_parse_control_strings",kwnames,&obj0,&obj1)) SWIG_fail;
4696 res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ldb_context, 0 | 0 );
4697 if (!SWIG_IsOK(res1)) {
4698 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Ldb_parse_control_strings" "', argument " "1"" of type '" "ldb *""'");
4700 arg1 = (ldb *)(argp1);
4701 if (obj1 == Py_None) {
4703 } else if (PySequence_Check(obj1)) {
4705 arg3 = talloc_array(NULL, char *, PySequence_Size(obj1)+1);
4706 for(i = 0; i < PySequence_Size(obj1); i++)
4707 arg3[i] = PyString_AsString(PySequence_GetItem(obj1, i));
4710 SWIG_exception(SWIG_TypeError, "expected sequence");
4713 SWIG_exception(SWIG_ValueError,
4714 "ldb context must be non-NULL");
4715 result = (struct ldb_control **)ldb_parse_control_strings(arg1,arg2,(char const *const *)arg3);
4716 if (result == NULL) {
4717 PyErr_SetObject(PyExc_LdbError, Py_BuildValue((char *)"(s)", ldb_errstring(arg1)));
4720 resultobj = SWIG_NewPointerObj(result, SWIGTYPE_p_p_ldb_control, 0);
4729 SWIGINTERN PyObject *_wrap_Ldb_add(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
4730 PyObject *resultobj = 0;
4731 ldb *arg1 = (ldb *) 0 ;
4732 ldb_msg *arg2 = (ldb_msg *) 0 ;
4736 PyObject * obj0 = 0 ;
4737 PyObject * obj1 = 0 ;
4738 char * kwnames[] = {
4739 (char *) "self",(char *) "add_msg", NULL
4742 if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:Ldb_add",kwnames,&obj0,&obj1)) SWIG_fail;
4743 res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ldb_context, 0 | 0 );
4744 if (!SWIG_IsOK(res1)) {
4745 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Ldb_add" "', argument " "1"" of type '" "ldb *""'");
4747 arg1 = (ldb *)(argp1);
4749 Py_ssize_t dict_pos, msg_pos;
4750 ldb_msg_element *msgel;
4751 PyObject *key, *value;
4753 if (PyDict_Check(obj1)) {
4754 PyObject *dn_value = PyDict_GetItemString(obj1, "dn");
4755 arg2 = ldb_msg_new(NULL);
4756 arg2->elements = talloc_zero_array(arg2, struct ldb_message_element, PyDict_Size(obj1));
4757 msg_pos = dict_pos = 0;
4759 /* using argp1 (magic SWIG value) here is a hack */
4760 if (ldb_dn_from_pyobject(arg2, dn_value, argp1, &arg2->dn) != 0) {
4761 SWIG_exception(SWIG_TypeError, "unable to import dn object");
4763 if (arg2->dn == NULL) {
4764 SWIG_exception(SWIG_TypeError, "dn set but not found");
4768 while (PyDict_Next(obj1, &dict_pos, &key, &value)) {
4769 char *key_str = PyString_AsString(key);
4770 if (strcmp(key_str, "dn") != 0) {
4771 msgel = ldb_msg_element_from_pyobject(arg2->elements, value, 0, key_str);
4772 if (msgel == NULL) {
4773 SWIG_exception(SWIG_TypeError, "unable to import element");
4775 memcpy(&arg2->elements[msg_pos], msgel, sizeof(*msgel));
4780 if (arg2->dn == NULL) {
4781 SWIG_exception(SWIG_TypeError, "no dn set");
4784 arg2->num_elements = msg_pos;
4786 if (SWIG_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_ldb_message, 0) != 0) {
4787 SWIG_exception(SWIG_TypeError, "unable to convert ldb message");
4792 SWIG_exception(SWIG_ValueError,
4793 "ldb context must be non-NULL");
4795 SWIG_exception(SWIG_ValueError,
4796 "Message can not be None");
4797 result = ldb_add(arg1,arg2);
4799 PyErr_SetObject(PyExc_LdbError, Py_BuildValue((char *)"(i,s)", result, ldb_errstring(arg1)));
4802 resultobj = Py_None;
4809 SWIGINTERN PyObject *_wrap_Ldb_modify(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
4810 PyObject *resultobj = 0;
4811 ldb *arg1 = (ldb *) 0 ;
4812 ldb_msg *arg2 = (ldb_msg *) 0 ;
4818 PyObject * obj0 = 0 ;
4819 PyObject * obj1 = 0 ;
4820 char * kwnames[] = {
4821 (char *) "self",(char *) "message", NULL
4824 if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:Ldb_modify",kwnames,&obj0,&obj1)) SWIG_fail;
4825 res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ldb_context, 0 | 0 );
4826 if (!SWIG_IsOK(res1)) {
4827 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Ldb_modify" "', argument " "1"" of type '" "ldb *""'");
4829 arg1 = (ldb *)(argp1);
4830 res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_ldb_message, 0 | 0 );
4831 if (!SWIG_IsOK(res2)) {
4832 SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Ldb_modify" "', argument " "2"" of type '" "ldb_msg *""'");
4834 arg2 = (ldb_msg *)(argp2);
4836 SWIG_exception(SWIG_ValueError,
4837 "ldb context must be non-NULL");
4839 SWIG_exception(SWIG_ValueError,
4840 "Message can not be None");
4841 result = ldb_modify(arg1,arg2);
4843 PyErr_SetObject(PyExc_LdbError, Py_BuildValue((char *)"(i,s)", result, ldb_errstring(arg1)));
4846 resultobj = Py_None;
4853 SWIGINTERN PyObject *_wrap_Ldb_get_config_basedn(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
4854 PyObject *resultobj = 0;
4855 ldb *arg1 = (ldb *) 0 ;
4856 ldb_dn *result = 0 ;
4859 PyObject *swig_obj[1] ;
4861 if (!args) SWIG_fail;
4863 res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_ldb_context, 0 | 0 );
4864 if (!SWIG_IsOK(res1)) {
4865 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Ldb_get_config_basedn" "', argument " "1"" of type '" "ldb *""'");
4867 arg1 = (ldb *)(argp1);
4869 SWIG_exception(SWIG_ValueError,
4870 "ldb context must be non-NULL");
4871 result = (ldb_dn *)ldb_get_config_basedn(arg1);
4872 resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_ldb_dn, 0 | 0 );
4879 SWIGINTERN PyObject *_wrap_Ldb_get_root_basedn(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
4880 PyObject *resultobj = 0;
4881 ldb *arg1 = (ldb *) 0 ;
4882 ldb_dn *result = 0 ;
4885 PyObject *swig_obj[1] ;
4887 if (!args) SWIG_fail;
4889 res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_ldb_context, 0 | 0 );
4890 if (!SWIG_IsOK(res1)) {
4891 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Ldb_get_root_basedn" "', argument " "1"" of type '" "ldb *""'");
4893 arg1 = (ldb *)(argp1);
4895 SWIG_exception(SWIG_ValueError,
4896 "ldb context must be non-NULL");
4897 result = (ldb_dn *)ldb_get_root_basedn(arg1);
4898 resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_ldb_dn, 0 | 0 );
4905 SWIGINTERN PyObject *_wrap_Ldb_get_schema_basedn(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
4906 PyObject *resultobj = 0;
4907 ldb *arg1 = (ldb *) 0 ;
4908 ldb_dn *result = 0 ;
4911 PyObject *swig_obj[1] ;
4913 if (!args) SWIG_fail;
4915 res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_ldb_context, 0 | 0 );
4916 if (!SWIG_IsOK(res1)) {
4917 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Ldb_get_schema_basedn" "', argument " "1"" of type '" "ldb *""'");
4919 arg1 = (ldb *)(argp1);
4921 SWIG_exception(SWIG_ValueError,
4922 "ldb context must be non-NULL");
4923 result = (ldb_dn *)ldb_get_schema_basedn(arg1);
4924 resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_ldb_dn, 0 | 0 );
4931 SWIGINTERN PyObject *_wrap_Ldb_get_default_basedn(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
4932 PyObject *resultobj = 0;
4933 ldb *arg1 = (ldb *) 0 ;
4934 ldb_dn *result = 0 ;
4937 PyObject *swig_obj[1] ;
4939 if (!args) SWIG_fail;
4941 res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_ldb_context, 0 | 0 );
4942 if (!SWIG_IsOK(res1)) {
4943 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Ldb_get_default_basedn" "', argument " "1"" of type '" "ldb *""'");
4945 arg1 = (ldb *)(argp1);
4947 SWIG_exception(SWIG_ValueError,
4948 "ldb context must be non-NULL");
4949 result = (ldb_dn *)ldb_get_default_basedn(arg1);
4950 resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_ldb_dn, 0 | 0 );
4957 SWIGINTERN PyObject *_wrap_Ldb_schema_format_value(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
4958 PyObject *resultobj = 0;
4959 ldb *arg1 = (ldb *) 0 ;
4960 char *arg2 = (char *) 0 ;
4961 PyObject *arg3 = (PyObject *) 0 ;
4962 PyObject *result = 0 ;
4968 PyObject * obj0 = 0 ;
4969 PyObject * obj1 = 0 ;
4970 PyObject * obj2 = 0 ;
4971 char * kwnames[] = {
4972 (char *) "self",(char *) "element_name",(char *) "val", NULL
4975 if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:Ldb_schema_format_value",kwnames,&obj0,&obj1,&obj2)) SWIG_fail;
4976 res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ldb_context, 0 | 0 );
4977 if (!SWIG_IsOK(res1)) {
4978 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Ldb_schema_format_value" "', argument " "1"" of type '" "ldb *""'");
4980 arg1 = (ldb *)(argp1);
4981 res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
4982 if (!SWIG_IsOK(res2)) {
4983 SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Ldb_schema_format_value" "', argument " "2"" of type '" "char const *""'");
4985 arg2 = (char *)(buf2);
4988 SWIG_exception(SWIG_ValueError,
4989 "ldb context must be non-NULL");
4990 result = (PyObject *)ldb_schema_format_value(arg1,(char const *)arg2,arg3);
4992 if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
4995 if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
5000 SWIGINTERN PyObject *_wrap_Ldb_errstring(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
5001 PyObject *resultobj = 0;
5002 ldb *arg1 = (ldb *) 0 ;
5006 PyObject *swig_obj[1] ;
5008 if (!args) SWIG_fail;
5010 res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_ldb_context, 0 | 0 );
5011 if (!SWIG_IsOK(res1)) {
5012 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Ldb_errstring" "', argument " "1"" of type '" "ldb *""'");
5014 arg1 = (ldb *)(argp1);
5016 SWIG_exception(SWIG_ValueError,
5017 "ldb context must be non-NULL");
5018 result = (char *)ldb_errstring(arg1);
5019 resultobj = SWIG_FromCharPtr((const char *)result);
5026 SWIGINTERN PyObject *_wrap_Ldb_set_create_perms(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
5027 PyObject *resultobj = 0;
5028 ldb *arg1 = (ldb *) 0 ;
5034 PyObject * obj0 = 0 ;
5035 PyObject * obj1 = 0 ;
5036 char * kwnames[] = {
5037 (char *) "self",(char *) "perms", NULL
5040 if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:Ldb_set_create_perms",kwnames,&obj0,&obj1)) SWIG_fail;
5041 res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ldb_context, 0 | 0 );
5042 if (!SWIG_IsOK(res1)) {
5043 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Ldb_set_create_perms" "', argument " "1"" of type '" "ldb *""'");
5045 arg1 = (ldb *)(argp1);
5046 ecode2 = SWIG_AsVal_unsigned_SS_int(obj1, &val2);
5047 if (!SWIG_IsOK(ecode2)) {
5048 SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Ldb_set_create_perms" "', argument " "2"" of type '" "unsigned int""'");
5050 arg2 = (unsigned int)(val2);
5052 SWIG_exception(SWIG_ValueError,
5053 "ldb context must be non-NULL");
5054 ldb_set_create_perms(arg1,arg2);
5055 resultobj = SWIG_Py_Void();
5062 SWIGINTERN PyObject *_wrap_Ldb_set_modules_dir(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
5063 PyObject *resultobj = 0;
5064 ldb *arg1 = (ldb *) 0 ;
5065 char *arg2 = (char *) 0 ;
5071 PyObject * obj0 = 0 ;
5072 PyObject * obj1 = 0 ;
5073 char * kwnames[] = {
5074 (char *) "self",(char *) "path", NULL
5077 if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:Ldb_set_modules_dir",kwnames,&obj0,&obj1)) SWIG_fail;
5078 res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ldb_context, 0 | 0 );
5079 if (!SWIG_IsOK(res1)) {
5080 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Ldb_set_modules_dir" "', argument " "1"" of type '" "ldb *""'");
5082 arg1 = (ldb *)(argp1);
5083 res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
5084 if (!SWIG_IsOK(res2)) {
5085 SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Ldb_set_modules_dir" "', argument " "2"" of type '" "char const *""'");
5087 arg2 = (char *)(buf2);
5089 SWIG_exception(SWIG_ValueError,
5090 "ldb context must be non-NULL");
5091 ldb_set_modules_dir(arg1,(char const *)arg2);
5092 resultobj = SWIG_Py_Void();
5093 if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
5096 if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
5101 SWIGINTERN PyObject *_wrap_Ldb_set_debug(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
5102 PyObject *resultobj = 0;
5103 ldb *arg1 = (ldb *) 0 ;
5104 void (*arg2)(void *,enum ldb_debug_level,char const *,va_list) = (void (*)(void *,enum ldb_debug_level,char const *,va_list)) 0 ;
5105 void *arg3 = (void *) 0 ;
5109 PyObject * obj0 = 0 ;
5110 PyObject * obj1 = 0 ;
5111 char * kwnames[] = {
5112 (char *) "self",(char *) "debug", NULL
5115 if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:Ldb_set_debug",kwnames,&obj0,&obj1)) SWIG_fail;
5116 res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ldb_context, 0 | 0 );
5117 if (!SWIG_IsOK(res1)) {
5118 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Ldb_set_debug" "', argument " "1"" of type '" "ldb *""'");
5120 arg1 = (ldb *)(argp1);
5121 arg2 = py_ldb_debug;
5122 /* FIXME: Should be decreased somewhere as well. Perhaps register a
5123 destructor and tie it to the ldb context ? */
5127 SWIG_exception(SWIG_ValueError,
5128 "ldb context must be non-NULL");
5129 result = ldb_set_debug(arg1,arg2,arg3);
5131 PyErr_SetObject(PyExc_LdbError, Py_BuildValue((char *)"(i,s)", result, ldb_errstring(arg1)));
5134 resultobj = Py_None;
5141 SWIGINTERN PyObject *_wrap_Ldb_set_opaque(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
5142 PyObject *resultobj = 0;
5143 ldb *arg1 = (ldb *) 0 ;
5144 char *arg2 = (char *) 0 ;
5145 void *arg3 = (void *) 0 ;
5153 PyObject * obj0 = 0 ;
5154 PyObject * obj1 = 0 ;
5155 PyObject * obj2 = 0 ;
5156 char * kwnames[] = {
5157 (char *) "self",(char *) "name",(char *) "value", NULL
5160 if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:Ldb_set_opaque",kwnames,&obj0,&obj1,&obj2)) SWIG_fail;
5161 res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ldb_context, 0 | 0 );
5162 if (!SWIG_IsOK(res1)) {
5163 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Ldb_set_opaque" "', argument " "1"" of type '" "ldb *""'");
5165 arg1 = (ldb *)(argp1);
5166 res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
5167 if (!SWIG_IsOK(res2)) {
5168 SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Ldb_set_opaque" "', argument " "2"" of type '" "char const *""'");
5170 arg2 = (char *)(buf2);
5171 res3 = SWIG_ConvertPtr(obj2,SWIG_as_voidptrptr(&arg3), 0, 0);
5172 if (!SWIG_IsOK(res3)) {
5173 SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "Ldb_set_opaque" "', argument " "3"" of type '" "void *""'");
5176 SWIG_exception(SWIG_ValueError,
5177 "ldb context must be non-NULL");
5178 result = ldb_set_opaque(arg1,(char const *)arg2,arg3);
5180 PyErr_SetObject(PyExc_LdbError, Py_BuildValue((char *)"(i,s)", result, ldb_errstring(arg1)));
5183 resultobj = Py_None;
5184 if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
5187 if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
5192 SWIGINTERN PyObject *_wrap_Ldb_get_opaque(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
5193 PyObject *resultobj = 0;
5194 ldb *arg1 = (ldb *) 0 ;
5195 char *arg2 = (char *) 0 ;
5202 PyObject * obj0 = 0 ;
5203 PyObject * obj1 = 0 ;
5204 char * kwnames[] = {
5205 (char *) "self",(char *) "name", NULL
5208 if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:Ldb_get_opaque",kwnames,&obj0,&obj1)) SWIG_fail;
5209 res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ldb_context, 0 | 0 );
5210 if (!SWIG_IsOK(res1)) {
5211 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Ldb_get_opaque" "', argument " "1"" of type '" "ldb *""'");
5213 arg1 = (ldb *)(argp1);
5214 res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
5215 if (!SWIG_IsOK(res2)) {
5216 SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Ldb_get_opaque" "', argument " "2"" of type '" "char const *""'");
5218 arg2 = (char *)(buf2);
5220 SWIG_exception(SWIG_ValueError,
5221 "ldb context must be non-NULL");
5222 result = (void *)ldb_get_opaque(arg1,(char const *)arg2);
5223 resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_void, 0 | 0 );
5224 if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
5227 if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
5232 SWIGINTERN PyObject *_wrap_Ldb_transaction_start(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
5233 PyObject *resultobj = 0;
5234 ldb *arg1 = (ldb *) 0 ;
5238 PyObject *swig_obj[1] ;
5240 if (!args) SWIG_fail;
5242 res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_ldb_context, 0 | 0 );
5243 if (!SWIG_IsOK(res1)) {
5244 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Ldb_transaction_start" "', argument " "1"" of type '" "ldb *""'");
5246 arg1 = (ldb *)(argp1);
5248 SWIG_exception(SWIG_ValueError,
5249 "ldb context must be non-NULL");
5250 result = ldb_transaction_start(arg1);
5252 PyErr_SetObject(PyExc_LdbError, Py_BuildValue((char *)"(i,s)", result, ldb_errstring(arg1)));
5255 resultobj = Py_None;
5262 SWIGINTERN PyObject *_wrap_Ldb_transaction_commit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
5263 PyObject *resultobj = 0;
5264 ldb *arg1 = (ldb *) 0 ;
5268 PyObject *swig_obj[1] ;
5270 if (!args) SWIG_fail;
5272 res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_ldb_context, 0 | 0 );
5273 if (!SWIG_IsOK(res1)) {
5274 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Ldb_transaction_commit" "', argument " "1"" of type '" "ldb *""'");
5276 arg1 = (ldb *)(argp1);
5278 SWIG_exception(SWIG_ValueError,
5279 "ldb context must be non-NULL");
5280 result = ldb_transaction_commit(arg1);
5282 PyErr_SetObject(PyExc_LdbError, Py_BuildValue((char *)"(i,s)", result, ldb_errstring(arg1)));
5285 resultobj = Py_None;
5292 SWIGINTERN PyObject *_wrap_Ldb_transaction_cancel(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
5293 PyObject *resultobj = 0;
5294 ldb *arg1 = (ldb *) 0 ;
5298 PyObject *swig_obj[1] ;
5300 if (!args) SWIG_fail;
5302 res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_ldb_context, 0 | 0 );
5303 if (!SWIG_IsOK(res1)) {
5304 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Ldb_transaction_cancel" "', argument " "1"" of type '" "ldb *""'");
5306 arg1 = (ldb *)(argp1);
5308 SWIG_exception(SWIG_ValueError,
5309 "ldb context must be non-NULL");
5310 result = ldb_transaction_cancel(arg1);
5312 PyErr_SetObject(PyExc_LdbError, Py_BuildValue((char *)"(i,s)", result, ldb_errstring(arg1)));
5315 resultobj = Py_None;
5322 SWIGINTERN PyObject *_wrap_Ldb_schema_attribute_remove(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
5323 PyObject *resultobj = 0;
5324 ldb *arg1 = (ldb *) 0 ;
5325 char *arg2 = (char *) 0 ;
5331 PyObject * obj0 = 0 ;
5332 PyObject * obj1 = 0 ;
5333 char * kwnames[] = {
5334 (char *) "self",(char *) "name", NULL
5337 if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:Ldb_schema_attribute_remove",kwnames,&obj0,&obj1)) SWIG_fail;
5338 res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ldb_context, 0 | 0 );
5339 if (!SWIG_IsOK(res1)) {
5340 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Ldb_schema_attribute_remove" "', argument " "1"" of type '" "ldb *""'");
5342 arg1 = (ldb *)(argp1);
5343 res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
5344 if (!SWIG_IsOK(res2)) {
5345 SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Ldb_schema_attribute_remove" "', argument " "2"" of type '" "char const *""'");
5347 arg2 = (char *)(buf2);
5349 SWIG_exception(SWIG_ValueError,
5350 "ldb context must be non-NULL");
5351 ldb_schema_attribute_remove(arg1,(char const *)arg2);
5352 resultobj = SWIG_Py_Void();
5353 if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
5356 if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
5361 SWIGINTERN PyObject *_wrap_Ldb_schema_attribute_add(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
5362 PyObject *resultobj = 0;
5363 ldb *arg1 = (ldb *) 0 ;
5364 char *arg2 = (char *) 0 ;
5366 char *arg4 = (char *) 0 ;
5378 PyObject * obj0 = 0 ;
5379 PyObject * obj1 = 0 ;
5380 PyObject * obj2 = 0 ;
5381 PyObject * obj3 = 0 ;
5382 char * kwnames[] = {
5383 (char *) "self",(char *) "attribute",(char *) "flags",(char *) "syntax", NULL
5386 if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOO:Ldb_schema_attribute_add",kwnames,&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
5387 res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ldb_context, 0 | 0 );
5388 if (!SWIG_IsOK(res1)) {
5389 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Ldb_schema_attribute_add" "', argument " "1"" of type '" "ldb *""'");
5391 arg1 = (ldb *)(argp1);
5392 res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
5393 if (!SWIG_IsOK(res2)) {
5394 SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Ldb_schema_attribute_add" "', argument " "2"" of type '" "char const *""'");
5396 arg2 = (char *)(buf2);
5397 ecode3 = SWIG_AsVal_unsigned_SS_int(obj2, &val3);
5398 if (!SWIG_IsOK(ecode3)) {
5399 SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Ldb_schema_attribute_add" "', argument " "3"" of type '" "unsigned int""'");
5401 arg3 = (unsigned int)(val3);
5402 res4 = SWIG_AsCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
5403 if (!SWIG_IsOK(res4)) {
5404 SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "Ldb_schema_attribute_add" "', argument " "4"" of type '" "char const *""'");
5406 arg4 = (char *)(buf4);
5408 SWIG_exception(SWIG_ValueError,
5409 "ldb context must be non-NULL");
5410 result = ldb_schema_attribute_add(arg1,(char const *)arg2,arg3,(char const *)arg4);
5412 PyErr_SetObject(PyExc_LdbError, Py_BuildValue((char *)"(i,s)", result, ldb_errstring(arg1)));
5415 resultobj = Py_None;
5416 if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
5417 if (alloc4 == SWIG_NEWOBJ) free((char*)buf4);
5420 if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
5421 if (alloc4 == SWIG_NEWOBJ) free((char*)buf4);
5426 SWIGINTERN PyObject *_wrap_Ldb_setup_wellknown_attributes(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
5427 PyObject *resultobj = 0;
5428 ldb *arg1 = (ldb *) 0 ;
5432 PyObject *swig_obj[1] ;
5434 if (!args) SWIG_fail;
5436 res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_ldb_context, 0 | 0 );
5437 if (!SWIG_IsOK(res1)) {
5438 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Ldb_setup_wellknown_attributes" "', argument " "1"" of type '" "ldb *""'");
5440 arg1 = (ldb *)(argp1);
5442 SWIG_exception(SWIG_ValueError,
5443 "ldb context must be non-NULL");
5444 result = ldb_setup_wellknown_attributes(arg1);
5446 PyErr_SetObject(PyExc_LdbError, Py_BuildValue((char *)"(i,s)", result, ldb_errstring(arg1)));
5449 resultobj = Py_None;
5456 SWIGINTERN PyObject *_wrap_Ldb___contains__(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
5457 PyObject *resultobj = 0;
5458 ldb *arg1 = (ldb *) 0 ;
5459 ldb_dn *arg2 = (ldb_dn *) 0 ;
5460 struct ldb_result **arg3 = (struct ldb_result **) 0 ;
5464 struct ldb_result *tmp3 ;
5465 PyObject * obj0 = 0 ;
5466 PyObject * obj1 = 0 ;
5467 char * kwnames[] = {
5468 (char *) "self",(char *) "dn", NULL
5472 if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:Ldb___contains__",kwnames,&obj0,&obj1)) SWIG_fail;
5473 res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ldb_context, 0 | 0 );
5474 if (!SWIG_IsOK(res1)) {
5475 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Ldb___contains__" "', argument " "1"" of type '" "ldb *""'");
5477 arg1 = (ldb *)(argp1);
5478 if (ldb_dn_from_pyobject(NULL, obj1, arg1, &arg2) != 0) {
5482 SWIG_exception(SWIG_ValueError,
5483 "ldb context must be non-NULL");
5484 result = ldb___contains__(arg1,arg2,arg3);
5486 PyErr_SetObject(PyExc_LdbError, Py_BuildValue((char *)"(i,s)", result, ldb_errstring(arg1)));
5489 resultobj = Py_None;
5490 resultobj = ((*arg3)->count > 0)?Py_True:Py_False;
5501 SWIGINTERN PyObject *_wrap_Ldb_parse_ldif(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
5502 PyObject *resultobj = 0;
5503 ldb *arg1 = (ldb *) 0 ;
5504 char *arg2 = (char *) 0 ;
5505 PyObject *result = 0 ;
5511 PyObject * obj0 = 0 ;
5512 PyObject * obj1 = 0 ;
5513 char * kwnames[] = {
5514 (char *) "self",(char *) "s", NULL
5517 if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:Ldb_parse_ldif",kwnames,&obj0,&obj1)) SWIG_fail;
5518 res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ldb_context, 0 | 0 );
5519 if (!SWIG_IsOK(res1)) {
5520 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Ldb_parse_ldif" "', argument " "1"" of type '" "ldb *""'");
5522 arg1 = (ldb *)(argp1);
5523 res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
5524 if (!SWIG_IsOK(res2)) {
5525 SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Ldb_parse_ldif" "', argument " "2"" of type '" "char const *""'");
5527 arg2 = (char *)(buf2);
5529 SWIG_exception(SWIG_ValueError,
5530 "ldb context must be non-NULL");
5531 result = (PyObject *)ldb_parse_ldif(arg1,(char const *)arg2);
5533 if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
5536 if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
5541 SWIGINTERN PyObject *Ldb_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
5543 if (!SWIG_Python_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL;
5544 SWIG_TypeNewClientData(SWIGTYPE_p_ldb_context, SWIG_NewClientData(obj));
5545 return SWIG_Py_Void();
5548 SWIGINTERN PyObject *Ldb_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
5549 return SWIG_Python_InitShadowInstance(args);
5552 SWIGINTERN PyObject *_wrap_valid_attr_name(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
5553 PyObject *resultobj = 0;
5554 char *arg1 = (char *) 0 ;
5559 PyObject * obj0 = 0 ;
5560 char * kwnames[] = {
5564 if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:valid_attr_name",kwnames,&obj0)) SWIG_fail;
5565 res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
5566 if (!SWIG_IsOK(res1)) {
5567 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "valid_attr_name" "', argument " "1"" of type '" "char const *""'");
5569 arg1 = (char *)(buf1);
5570 result = (int)ldb_valid_attr_name((char const *)arg1);
5571 resultobj = SWIG_From_int((int)(result));
5572 if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
5575 if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
5580 SWIGINTERN PyObject *_wrap_timestring(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
5581 PyObject *resultobj = 0;
5584 unsigned long val1 ;
5586 PyObject * obj0 = 0 ;
5587 char * kwnames[] = {
5591 if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:timestring",kwnames,&obj0)) SWIG_fail;
5592 ecode1 = SWIG_AsVal_unsigned_SS_long(obj0, &val1);
5593 if (!SWIG_IsOK(ecode1)) {
5594 SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "timestring" "', argument " "1"" of type '" "time_t""'");
5596 arg1 = (time_t)(val1);
5597 result = (char *)timestring(arg1);
5598 resultobj = SWIG_FromCharPtr((const char *)result);
5605 SWIGINTERN PyObject *_wrap_string_to_time(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
5606 PyObject *resultobj = 0;
5607 char *arg1 = (char *) 0 ;
5612 PyObject * obj0 = 0 ;
5613 char * kwnames[] = {
5617 if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:string_to_time",kwnames,&obj0)) SWIG_fail;
5618 res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
5619 if (!SWIG_IsOK(res1)) {
5620 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "string_to_time" "', argument " "1"" of type '" "char const *""'");
5622 arg1 = (char *)(buf1);
5623 result = (time_t)ldb_string_to_time((char const *)arg1);
5624 resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result));
5625 if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
5628 if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
5633 SWIGINTERN PyObject *_wrap_register_module(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
5634 PyObject *resultobj = 0;
5635 struct ldb_module_ops *arg1 = (struct ldb_module_ops *) 0 ;
5636 ldb_int_error result;
5637 PyObject * obj0 = 0 ;
5638 char * kwnames[] = {
5639 (char *)"arg1", NULL
5642 if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:register_module",kwnames,&obj0)) SWIG_fail;
5643 arg1 = talloc_zero(talloc_autofree_context(), struct ldb_module_ops);
5645 arg1->name = (char *)PyObject_GetAttrString(obj0, (char *)"name");
5646 result = ldb_register_module((struct ldb_module_ops const *)arg1);
5648 PyErr_SetObject(PyExc_LdbError, Py_BuildValue((char *)"(i,s)", result, ldb_strerror(result)));
5651 resultobj = Py_None;
5658 static PyMethodDef SwigMethods[] = {
5659 { (char *)"ldb_val_to_py_object", (PyCFunction) _wrap_ldb_val_to_py_object, METH_VARARGS | METH_KEYWORDS, NULL},
5660 { (char *)"new_Dn", (PyCFunction) _wrap_new_Dn, METH_VARARGS | METH_KEYWORDS, NULL},
5661 { (char *)"delete_Dn", (PyCFunction)_wrap_delete_Dn, METH_O, NULL},
5662 { (char *)"Dn_validate", (PyCFunction)_wrap_Dn_validate, METH_O, NULL},
5663 { (char *)"Dn_get_casefold", (PyCFunction)_wrap_Dn_get_casefold, METH_O, NULL},
5664 { (char *)"Dn___str__", (PyCFunction)_wrap_Dn___str__, METH_O, NULL},
5665 { (char *)"Dn_parent", (PyCFunction)_wrap_Dn_parent, METH_O, NULL},
5666 { (char *)"Dn___cmp__", (PyCFunction) _wrap_Dn___cmp__, METH_VARARGS | METH_KEYWORDS, NULL},
5667 { (char *)"Dn_is_valid", (PyCFunction)_wrap_Dn_is_valid, METH_O, NULL},
5668 { (char *)"Dn_is_special", (PyCFunction)_wrap_Dn_is_special, METH_O, NULL},
5669 { (char *)"Dn_is_null", (PyCFunction)_wrap_Dn_is_null, METH_O, NULL},
5670 { (char *)"Dn_check_special", (PyCFunction) _wrap_Dn_check_special, METH_VARARGS | METH_KEYWORDS, NULL},
5671 { (char *)"Dn___len__", (PyCFunction)_wrap_Dn___len__, METH_O, NULL},
5672 { (char *)"Dn_add_child", (PyCFunction) _wrap_Dn_add_child, METH_VARARGS | METH_KEYWORDS, NULL},
5673 { (char *)"Dn_add_base", (PyCFunction) _wrap_Dn_add_base, METH_VARARGS | METH_KEYWORDS, NULL},
5674 { (char *)"Dn_canonical_str", (PyCFunction)_wrap_Dn_canonical_str, METH_O, NULL},
5675 { (char *)"Dn_canonical_ex_str", (PyCFunction)_wrap_Dn_canonical_ex_str, METH_O, NULL},
5676 { (char *)"Dn___add__", (PyCFunction) _wrap_Dn___add__, METH_VARARGS | METH_KEYWORDS, NULL},
5677 { (char *)"Dn_swigregister", Dn_swigregister, METH_VARARGS, NULL},
5678 { (char *)"Dn_swiginit", Dn_swiginit, METH_VARARGS, NULL},
5679 { (char *)"ldb_msg_element___iter__", (PyCFunction)_wrap_ldb_msg_element___iter__, METH_O, NULL},
5680 { (char *)"ldb_msg_element___set__", (PyCFunction)_wrap_ldb_msg_element___set__, METH_O, NULL},
5681 { (char *)"new_MessageElement", (PyCFunction) _wrap_new_MessageElement, METH_VARARGS | METH_KEYWORDS, NULL},
5682 { (char *)"ldb_msg_element___len__", (PyCFunction)_wrap_ldb_msg_element___len__, METH_O, NULL},
5683 { (char *)"ldb_msg_element_get", (PyCFunction) _wrap_ldb_msg_element_get, METH_VARARGS | METH_KEYWORDS, NULL},
5684 { (char *)"delete_ldb_msg_element", (PyCFunction)_wrap_delete_ldb_msg_element, METH_O, NULL},
5685 { (char *)"ldb_msg_element___cmp__", (PyCFunction) _wrap_ldb_msg_element___cmp__, METH_VARARGS | METH_KEYWORDS, NULL},
5686 { (char *)"ldb_msg_element_swigregister", ldb_msg_element_swigregister, METH_VARARGS, NULL},
5687 { (char *)"ldb_msg_list_elements", (PyCFunction) _wrap_ldb_msg_list_elements, METH_VARARGS | METH_KEYWORDS, NULL},
5688 { (char *)"Message_dn_set", _wrap_Message_dn_set, METH_VARARGS, NULL},
5689 { (char *)"Message_dn_get", (PyCFunction)_wrap_Message_dn_get, METH_O, NULL},
5690 { (char *)"new_Message", (PyCFunction) _wrap_new_Message, METH_VARARGS | METH_KEYWORDS, NULL},
5691 { (char *)"delete_Message", (PyCFunction)_wrap_delete_Message, METH_O, NULL},
5692 { (char *)"Message___getitem__", (PyCFunction) _wrap_Message___getitem__, METH_VARARGS | METH_KEYWORDS, NULL},
5693 { (char *)"Message___setitem__", _wrap_Message___setitem__, METH_VARARGS, NULL},
5694 { (char *)"Message___len__", (PyCFunction)_wrap_Message___len__, METH_O, NULL},
5695 { (char *)"Message_keys", (PyCFunction)_wrap_Message_keys, METH_O, NULL},
5696 { (char *)"Message___iter__", (PyCFunction)_wrap_Message___iter__, METH_O, NULL},
5697 { (char *)"Message___delitem__", (PyCFunction) _wrap_Message___delitem__, METH_VARARGS | METH_KEYWORDS, NULL},
5698 { (char *)"Message_swigregister", Message_swigregister, METH_VARARGS, NULL},
5699 { (char *)"Message_swiginit", Message_swiginit, METH_VARARGS, NULL},
5700 { (char *)"ldb_ldif_to_pyobject", (PyCFunction) _wrap_ldb_ldif_to_pyobject, METH_VARARGS | METH_KEYWORDS, NULL},
5701 { (char *)"new_Ldb", (PyCFunction)_wrap_new_Ldb, METH_NOARGS, NULL},
5702 { (char *)"Ldb_connect", (PyCFunction) _wrap_Ldb_connect, METH_VARARGS | METH_KEYWORDS, NULL},
5703 { (char *)"delete_Ldb", (PyCFunction)_wrap_delete_Ldb, METH_O, NULL},
5704 { (char *)"Ldb_search_ex", (PyCFunction) _wrap_Ldb_search_ex, METH_VARARGS | METH_KEYWORDS, NULL},
5705 { (char *)"Ldb_delete", (PyCFunction) _wrap_Ldb_delete, METH_VARARGS | METH_KEYWORDS, NULL},
5706 { (char *)"Ldb_rename", (PyCFunction) _wrap_Ldb_rename, METH_VARARGS | METH_KEYWORDS, NULL},
5707 { (char *)"Ldb_parse_control_strings", (PyCFunction) _wrap_Ldb_parse_control_strings, METH_VARARGS | METH_KEYWORDS, NULL},
5708 { (char *)"Ldb_add", (PyCFunction) _wrap_Ldb_add, METH_VARARGS | METH_KEYWORDS, NULL},
5709 { (char *)"Ldb_modify", (PyCFunction) _wrap_Ldb_modify, METH_VARARGS | METH_KEYWORDS, NULL},
5710 { (char *)"Ldb_get_config_basedn", (PyCFunction)_wrap_Ldb_get_config_basedn, METH_O, NULL},
5711 { (char *)"Ldb_get_root_basedn", (PyCFunction)_wrap_Ldb_get_root_basedn, METH_O, NULL},
5712 { (char *)"Ldb_get_schema_basedn", (PyCFunction)_wrap_Ldb_get_schema_basedn, METH_O, NULL},
5713 { (char *)"Ldb_get_default_basedn", (PyCFunction)_wrap_Ldb_get_default_basedn, METH_O, NULL},
5714 { (char *)"Ldb_schema_format_value", (PyCFunction) _wrap_Ldb_schema_format_value, METH_VARARGS | METH_KEYWORDS, NULL},
5715 { (char *)"Ldb_errstring", (PyCFunction)_wrap_Ldb_errstring, METH_O, NULL},
5716 { (char *)"Ldb_set_create_perms", (PyCFunction) _wrap_Ldb_set_create_perms, METH_VARARGS | METH_KEYWORDS, NULL},
5717 { (char *)"Ldb_set_modules_dir", (PyCFunction) _wrap_Ldb_set_modules_dir, METH_VARARGS | METH_KEYWORDS, NULL},
5718 { (char *)"Ldb_set_debug", (PyCFunction) _wrap_Ldb_set_debug, METH_VARARGS | METH_KEYWORDS, NULL},
5719 { (char *)"Ldb_set_opaque", (PyCFunction) _wrap_Ldb_set_opaque, METH_VARARGS | METH_KEYWORDS, NULL},
5720 { (char *)"Ldb_get_opaque", (PyCFunction) _wrap_Ldb_get_opaque, METH_VARARGS | METH_KEYWORDS, NULL},
5721 { (char *)"Ldb_transaction_start", (PyCFunction)_wrap_Ldb_transaction_start, METH_O, NULL},
5722 { (char *)"Ldb_transaction_commit", (PyCFunction)_wrap_Ldb_transaction_commit, METH_O, NULL},
5723 { (char *)"Ldb_transaction_cancel", (PyCFunction)_wrap_Ldb_transaction_cancel, METH_O, NULL},
5724 { (char *)"Ldb_schema_attribute_remove", (PyCFunction) _wrap_Ldb_schema_attribute_remove, METH_VARARGS | METH_KEYWORDS, NULL},
5725 { (char *)"Ldb_schema_attribute_add", (PyCFunction) _wrap_Ldb_schema_attribute_add, METH_VARARGS | METH_KEYWORDS, NULL},
5726 { (char *)"Ldb_setup_wellknown_attributes", (PyCFunction)_wrap_Ldb_setup_wellknown_attributes, METH_O, NULL},
5727 { (char *)"Ldb___contains__", (PyCFunction) _wrap_Ldb___contains__, METH_VARARGS | METH_KEYWORDS, NULL},
5728 { (char *)"Ldb_parse_ldif", (PyCFunction) _wrap_Ldb_parse_ldif, METH_VARARGS | METH_KEYWORDS, NULL},
5729 { (char *)"Ldb_swigregister", Ldb_swigregister, METH_VARARGS, NULL},
5730 { (char *)"Ldb_swiginit", Ldb_swiginit, METH_VARARGS, NULL},
5731 { (char *)"valid_attr_name", (PyCFunction) _wrap_valid_attr_name, METH_VARARGS | METH_KEYWORDS, NULL},
5732 { (char *)"timestring", (PyCFunction) _wrap_timestring, METH_VARARGS | METH_KEYWORDS, NULL},
5733 { (char *)"string_to_time", (PyCFunction) _wrap_string_to_time, METH_VARARGS | METH_KEYWORDS, NULL},
5734 { (char *)"register_module", (PyCFunction) _wrap_register_module, METH_VARARGS | METH_KEYWORDS, NULL},
5735 { NULL, NULL, 0, NULL }
5739 /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */
5741 static swig_type_info _swigt__p_TALLOC_CTX = {"_p_TALLOC_CTX", "TALLOC_CTX *", 0, 0, (void*)0, 0};
5742 static swig_type_info _swigt__p_char = {"_p_char", "char *", 0, 0, (void*)0, 0};
5743 static swig_type_info _swigt__p_f_p_void_enum_ldb_debug_level_p_q_const__char_va_list__void = {"_p_f_p_void_enum_ldb_debug_level_p_q_const__char_va_list__void", "void (*)(void *,enum ldb_debug_level,char const *,va_list)", 0, 0, (void*)0, 0};
5744 static swig_type_info _swigt__p_int = {"_p_int", "intptr_t *|int *|int_least32_t *|int_fast32_t *|int32_t *|int_fast16_t *", 0, 0, (void*)0, 0};
5745 static swig_type_info _swigt__p_ldb_context = {"_p_ldb_context", "struct ldb_context *|ldb *", 0, 0, (void*)0, 0};
5746 static swig_type_info _swigt__p_ldb_dn = {"_p_ldb_dn", "struct ldb_dn *|ldb_dn *", 0, 0, (void*)0, 0};
5747 static swig_type_info _swigt__p_ldb_ldif = {"_p_ldb_ldif", "struct ldb_ldif *|ldb_ldif *", 0, 0, (void*)0, 0};
5748 static swig_type_info _swigt__p_ldb_message = {"_p_ldb_message", "ldb_msg *|struct ldb_message *", 0, 0, (void*)0, 0};
5749 static swig_type_info _swigt__p_ldb_message_element = {"_p_ldb_message_element", "struct ldb_message_element *|ldb_msg_element *", 0, 0, (void*)0, 0};
5750 static swig_type_info _swigt__p_ldb_module_ops = {"_p_ldb_module_ops", "struct ldb_module_ops *", 0, 0, (void*)0, 0};
5751 static swig_type_info _swigt__p_ldb_result = {"_p_ldb_result", "struct ldb_result *", 0, 0, (void*)0, 0};
5752 static swig_type_info _swigt__p_ldb_val = {"_p_ldb_val", "struct ldb_val *", 0, 0, (void*)0, 0};
5753 static swig_type_info _swigt__p_long_long = {"_p_long_long", "int_least64_t *|int_fast64_t *|int64_t *|long long *|intmax_t *", 0, 0, (void*)0, 0};
5754 static swig_type_info _swigt__p_p_char = {"_p_p_char", "char **", 0, 0, (void*)0, 0};
5755 static swig_type_info _swigt__p_p_ldb_control = {"_p_p_ldb_control", "struct ldb_control **", 0, 0, (void*)0, 0};
5756 static swig_type_info _swigt__p_p_ldb_result = {"_p_p_ldb_result", "struct ldb_result **", 0, 0, (void*)0, 0};
5757 static swig_type_info _swigt__p_short = {"_p_short", "short *|int_least16_t *|int16_t *", 0, 0, (void*)0, 0};
5758 static swig_type_info _swigt__p_signed_char = {"_p_signed_char", "signed char *|int_least8_t *|int_fast8_t *|int8_t *", 0, 0, (void*)0, 0};
5759 static swig_type_info _swigt__p_unsigned_char = {"_p_unsigned_char", "unsigned char *|uint_least8_t *|uint_fast8_t *|uint8_t *", 0, 0, (void*)0, 0};
5760 static swig_type_info _swigt__p_unsigned_int = {"_p_unsigned_int", "uintptr_t *|uint_least32_t *|uint_fast32_t *|uint32_t *|unsigned int *|uint_fast16_t *", 0, 0, (void*)0, 0};
5761 static swig_type_info _swigt__p_unsigned_long = {"_p_unsigned_long", "unsigned long *|time_t *", 0, 0, (void*)0, 0};
5762 static swig_type_info _swigt__p_unsigned_long_long = {"_p_unsigned_long_long", "uint_least64_t *|uint_fast64_t *|uint64_t *|unsigned long long *|uintmax_t *", 0, 0, (void*)0, 0};
5763 static swig_type_info _swigt__p_unsigned_short = {"_p_unsigned_short", "unsigned short *|uint_least16_t *|uint16_t *", 0, 0, (void*)0, 0};
5764 static swig_type_info _swigt__p_void = {"_p_void", "void *", 0, 0, (void*)0, 0};
5766 static swig_type_info *swig_type_initial[] = {
5767 &_swigt__p_TALLOC_CTX,
5769 &_swigt__p_f_p_void_enum_ldb_debug_level_p_q_const__char_va_list__void,
5771 &_swigt__p_ldb_context,
5773 &_swigt__p_ldb_ldif,
5774 &_swigt__p_ldb_message,
5775 &_swigt__p_ldb_message_element,
5776 &_swigt__p_ldb_module_ops,
5777 &_swigt__p_ldb_result,
5779 &_swigt__p_long_long,
5781 &_swigt__p_p_ldb_control,
5782 &_swigt__p_p_ldb_result,
5784 &_swigt__p_signed_char,
5785 &_swigt__p_unsigned_char,
5786 &_swigt__p_unsigned_int,
5787 &_swigt__p_unsigned_long,
5788 &_swigt__p_unsigned_long_long,
5789 &_swigt__p_unsigned_short,
5793 static swig_cast_info _swigc__p_TALLOC_CTX[] = { {&_swigt__p_TALLOC_CTX, 0, 0, 0},{0, 0, 0, 0}};
5794 static swig_cast_info _swigc__p_char[] = { {&_swigt__p_char, 0, 0, 0},{0, 0, 0, 0}};
5795 static swig_cast_info _swigc__p_f_p_void_enum_ldb_debug_level_p_q_const__char_va_list__void[] = { {&_swigt__p_f_p_void_enum_ldb_debug_level_p_q_const__char_va_list__void, 0, 0, 0},{0, 0, 0, 0}};
5796 static swig_cast_info _swigc__p_int[] = { {&_swigt__p_int, 0, 0, 0},{0, 0, 0, 0}};
5797 static swig_cast_info _swigc__p_ldb_context[] = { {&_swigt__p_ldb_context, 0, 0, 0},{0, 0, 0, 0}};
5798 static swig_cast_info _swigc__p_ldb_dn[] = { {&_swigt__p_ldb_dn, 0, 0, 0},{0, 0, 0, 0}};
5799 static swig_cast_info _swigc__p_ldb_ldif[] = { {&_swigt__p_ldb_ldif, 0, 0, 0},{0, 0, 0, 0}};
5800 static swig_cast_info _swigc__p_ldb_message[] = { {&_swigt__p_ldb_message, 0, 0, 0},{0, 0, 0, 0}};
5801 static swig_cast_info _swigc__p_ldb_message_element[] = { {&_swigt__p_ldb_message_element, 0, 0, 0},{0, 0, 0, 0}};
5802 static swig_cast_info _swigc__p_ldb_module_ops[] = { {&_swigt__p_ldb_module_ops, 0, 0, 0},{0, 0, 0, 0}};
5803 static swig_cast_info _swigc__p_ldb_result[] = { {&_swigt__p_ldb_result, 0, 0, 0},{0, 0, 0, 0}};
5804 static swig_cast_info _swigc__p_ldb_val[] = { {&_swigt__p_ldb_val, 0, 0, 0},{0, 0, 0, 0}};
5805 static swig_cast_info _swigc__p_long_long[] = { {&_swigt__p_long_long, 0, 0, 0},{0, 0, 0, 0}};
5806 static swig_cast_info _swigc__p_p_char[] = { {&_swigt__p_p_char, 0, 0, 0},{0, 0, 0, 0}};
5807 static swig_cast_info _swigc__p_p_ldb_control[] = { {&_swigt__p_p_ldb_control, 0, 0, 0},{0, 0, 0, 0}};
5808 static swig_cast_info _swigc__p_p_ldb_result[] = { {&_swigt__p_p_ldb_result, 0, 0, 0},{0, 0, 0, 0}};
5809 static swig_cast_info _swigc__p_short[] = { {&_swigt__p_short, 0, 0, 0},{0, 0, 0, 0}};
5810 static swig_cast_info _swigc__p_signed_char[] = { {&_swigt__p_signed_char, 0, 0, 0},{0, 0, 0, 0}};
5811 static swig_cast_info _swigc__p_unsigned_char[] = { {&_swigt__p_unsigned_char, 0, 0, 0},{0, 0, 0, 0}};
5812 static swig_cast_info _swigc__p_unsigned_int[] = { {&_swigt__p_unsigned_int, 0, 0, 0},{0, 0, 0, 0}};
5813 static swig_cast_info _swigc__p_unsigned_long[] = { {&_swigt__p_unsigned_long, 0, 0, 0},{0, 0, 0, 0}};
5814 static swig_cast_info _swigc__p_unsigned_long_long[] = { {&_swigt__p_unsigned_long_long, 0, 0, 0},{0, 0, 0, 0}};
5815 static swig_cast_info _swigc__p_unsigned_short[] = { {&_swigt__p_unsigned_short, 0, 0, 0},{0, 0, 0, 0}};
5816 static swig_cast_info _swigc__p_void[] = { {&_swigt__p_void, 0, 0, 0},{0, 0, 0, 0}};
5818 static swig_cast_info *swig_cast_initial[] = {
5819 _swigc__p_TALLOC_CTX,
5821 _swigc__p_f_p_void_enum_ldb_debug_level_p_q_const__char_va_list__void,
5823 _swigc__p_ldb_context,
5826 _swigc__p_ldb_message,
5827 _swigc__p_ldb_message_element,
5828 _swigc__p_ldb_module_ops,
5829 _swigc__p_ldb_result,
5831 _swigc__p_long_long,
5833 _swigc__p_p_ldb_control,
5834 _swigc__p_p_ldb_result,
5836 _swigc__p_signed_char,
5837 _swigc__p_unsigned_char,
5838 _swigc__p_unsigned_int,
5839 _swigc__p_unsigned_long,
5840 _swigc__p_unsigned_long_long,
5841 _swigc__p_unsigned_short,
5846 /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */
5848 static swig_const_info swig_const_table[] = {
5849 {0, 0, 0, 0.0, 0, 0}};
5854 /* -----------------------------------------------------------------------------
5855 * Type initialization:
5856 * This problem is tough by the requirement that no dynamic
5857 * memory is used. Also, since swig_type_info structures store pointers to
5858 * swig_cast_info structures and swig_cast_info structures store pointers back
5859 * to swig_type_info structures, we need some lookup code at initialization.
5860 * The idea is that swig generates all the structures that are needed.
5861 * The runtime then collects these partially filled structures.
5862 * The SWIG_InitializeModule function takes these initial arrays out of
5863 * swig_module, and does all the lookup, filling in the swig_module.types
5864 * array with the correct data and linking the correct swig_cast_info
5865 * structures together.
5867 * The generated swig_type_info structures are assigned staticly to an initial
5868 * array. We just loop through that array, and handle each type individually.
5869 * First we lookup if this type has been already loaded, and if so, use the
5870 * loaded structure instead of the generated one. Then we have to fill in the
5871 * cast linked list. The cast data is initially stored in something like a
5872 * two-dimensional array. Each row corresponds to a type (there are the same
5873 * number of rows as there are in the swig_type_initial array). Each entry in
5874 * a column is one of the swig_cast_info structures for that type.
5875 * The cast_initial array is actually an array of arrays, because each row has
5876 * a variable number of columns. So to actually build the cast linked list,
5877 * we find the array of casts associated with the type, and loop through it
5878 * adding the casts to the list. The one last trick we need to do is making
5879 * sure the type pointer in the swig_cast_info struct is correct.
5881 * First off, we lookup the cast->type name to see if it is already loaded.
5882 * There are three cases to handle:
5883 * 1) If the cast->type has already been loaded AND the type we are adding
5884 * casting info to has not been loaded (it is in this module), THEN we
5885 * replace the cast->type pointer with the type pointer that has already
5887 * 2) If BOTH types (the one we are adding casting info to, and the
5888 * cast->type) are loaded, THEN the cast info has already been loaded by
5889 * the previous module so we just ignore it.
5890 * 3) Finally, if cast->type has not already been loaded, then we add that
5891 * swig_cast_info to the linked list (because the cast->type) pointer will
5893 * ----------------------------------------------------------------------------- */
5903 #define SWIGRUNTIME_DEBUG
5908 SWIG_InitializeModule(void *clientdata) {
5910 swig_module_info *module_head, *iter;
5913 clientdata = clientdata;
5915 /* check to see if the circular list has been setup, if not, set it up */
5916 if (swig_module.next==0) {
5917 /* Initialize the swig_module */
5918 swig_module.type_initial = swig_type_initial;
5919 swig_module.cast_initial = swig_cast_initial;
5920 swig_module.next = &swig_module;
5926 /* Try and load any already created modules */
5927 module_head = SWIG_GetModule(clientdata);
5929 /* This is the first module loaded for this interpreter */
5930 /* so set the swig module into the interpreter */
5931 SWIG_SetModule(clientdata, &swig_module);
5932 module_head = &swig_module;
5934 /* the interpreter has loaded a SWIG module, but has it loaded this one? */
5938 if (iter==&swig_module) {
5943 } while (iter!= module_head);
5945 /* if the is found in the list, then all is done and we may leave */
5947 /* otherwise we must add out module into the list */
5948 swig_module.next = module_head->next;
5949 module_head->next = &swig_module;
5952 /* When multiple interpeters are used, a module could have already been initialized in
5953 a different interpreter, but not yet have a pointer in this interpreter.
5954 In this case, we do not want to continue adding types... everything should be
5956 if (init == 0) return;
5958 /* Now work on filling in swig_module.types */
5959 #ifdef SWIGRUNTIME_DEBUG
5960 printf("SWIG_InitializeModule: size %d\n", swig_module.size);
5962 for (i = 0; i < swig_module.size; ++i) {
5963 swig_type_info *type = 0;
5964 swig_type_info *ret;
5965 swig_cast_info *cast;
5967 #ifdef SWIGRUNTIME_DEBUG
5968 printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name);
5971 /* if there is another module already loaded */
5972 if (swig_module.next != &swig_module) {
5973 type = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, swig_module.type_initial[i]->name);
5976 /* Overwrite clientdata field */
5977 #ifdef SWIGRUNTIME_DEBUG
5978 printf("SWIG_InitializeModule: found type %s\n", type->name);
5980 if (swig_module.type_initial[i]->clientdata) {
5981 type->clientdata = swig_module.type_initial[i]->clientdata;
5982 #ifdef SWIGRUNTIME_DEBUG
5983 printf("SWIG_InitializeModule: found and overwrite type %s \n", type->name);
5987 type = swig_module.type_initial[i];
5990 /* Insert casting types */
5991 cast = swig_module.cast_initial[i];
5992 while (cast->type) {
5993 /* Don't need to add information already in the list */
5995 #ifdef SWIGRUNTIME_DEBUG
5996 printf("SWIG_InitializeModule: look cast %s\n", cast->type->name);
5998 if (swig_module.next != &swig_module) {
5999 ret = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, cast->type->name);
6000 #ifdef SWIGRUNTIME_DEBUG
6001 if (ret) printf("SWIG_InitializeModule: found cast %s\n", ret->name);
6005 if (type == swig_module.type_initial[i]) {
6006 #ifdef SWIGRUNTIME_DEBUG
6007 printf("SWIG_InitializeModule: skip old type %s\n", ret->name);
6012 /* Check for casting already in the list */
6013 swig_cast_info *ocast = SWIG_TypeCheck(ret->name, type);
6014 #ifdef SWIGRUNTIME_DEBUG
6015 if (ocast) printf("SWIG_InitializeModule: skip old cast %s\n", ret->name);
6017 if (!ocast) ret = 0;
6022 #ifdef SWIGRUNTIME_DEBUG
6023 printf("SWIG_InitializeModule: adding cast %s\n", cast->type->name);
6026 type->cast->prev = cast;
6027 cast->next = type->cast;
6033 /* Set entry in modules->types array equal to the type */
6034 swig_module.types[i] = type;
6036 swig_module.types[i] = 0;
6038 #ifdef SWIGRUNTIME_DEBUG
6039 printf("**** SWIG_InitializeModule: Cast List ******\n");
6040 for (i = 0; i < swig_module.size; ++i) {
6042 swig_cast_info *cast = swig_module.cast_initial[i];
6043 printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name);
6044 while (cast->type) {
6045 printf("SWIG_InitializeModule: cast type %s\n", cast->type->name);
6049 printf("---- Total casts: %d\n",j);
6051 printf("**** SWIG_InitializeModule: Cast List ******\n");
6055 /* This function will propagate the clientdata field of type to
6056 * any new swig_type_info structures that have been added into the list
6057 * of equivalent types. It is like calling
6058 * SWIG_TypeClientData(type, clientdata) a second time.
6061 SWIG_PropagateClientData(void) {
6063 swig_cast_info *equiv;
6064 static int init_run = 0;
6066 if (init_run) return;
6069 for (i = 0; i < swig_module.size; i++) {
6070 if (swig_module.types[i]->clientdata) {
6071 equiv = swig_module.types[i]->cast;
6073 if (!equiv->converter) {
6074 if (equiv->type && !equiv->type->clientdata)
6075 SWIG_TypeClientData(equiv->type, swig_module.types[i]->clientdata);
6077 equiv = equiv->next;
6097 /* Python-specific SWIG API */
6098 #define SWIG_newvarlink() SWIG_Python_newvarlink()
6099 #define SWIG_addvarlink(p, name, get_attr, set_attr) SWIG_Python_addvarlink(p, name, get_attr, set_attr)
6100 #define SWIG_InstallConstants(d, constants) SWIG_Python_InstallConstants(d, constants)
6102 /* -----------------------------------------------------------------------------
6103 * global variable support code.
6104 * ----------------------------------------------------------------------------- */
6106 typedef struct swig_globalvar {
6107 char *name; /* Name of global variable */
6108 PyObject *(*get_attr)(void); /* Return the current value */
6109 int (*set_attr)(PyObject *); /* Set the value */
6110 struct swig_globalvar *next;
6113 typedef struct swig_varlinkobject {
6115 swig_globalvar *vars;
6116 } swig_varlinkobject;
6118 SWIGINTERN PyObject *
6119 swig_varlink_repr(swig_varlinkobject *SWIGUNUSEDPARM(v)) {
6120 return PyString_FromString("<Swig global variables>");
6123 SWIGINTERN PyObject *
6124 swig_varlink_str(swig_varlinkobject *v) {
6125 PyObject *str = PyString_FromString("(");
6126 swig_globalvar *var;
6127 for (var = v->vars; var; var=var->next) {
6128 PyString_ConcatAndDel(&str,PyString_FromString(var->name));
6129 if (var->next) PyString_ConcatAndDel(&str,PyString_FromString(", "));
6131 PyString_ConcatAndDel(&str,PyString_FromString(")"));
6136 swig_varlink_print(swig_varlinkobject *v, FILE *fp, int SWIGUNUSEDPARM(flags)) {
6137 PyObject *str = swig_varlink_str(v);
6138 fprintf(fp,"Swig global variables ");
6139 fprintf(fp,"%s\n", PyString_AsString(str));
6145 swig_varlink_dealloc(swig_varlinkobject *v) {
6146 swig_globalvar *var = v->vars;
6148 swig_globalvar *n = var->next;
6155 SWIGINTERN PyObject *
6156 swig_varlink_getattr(swig_varlinkobject *v, char *n) {
6157 PyObject *res = NULL;
6158 swig_globalvar *var = v->vars;
6160 if (strcmp(var->name,n) == 0) {
6161 res = (*var->get_attr)();
6166 if (res == NULL && !PyErr_Occurred()) {
6167 PyErr_SetString(PyExc_NameError,"Unknown C global variable");
6173 swig_varlink_setattr(swig_varlinkobject *v, char *n, PyObject *p) {
6175 swig_globalvar *var = v->vars;
6177 if (strcmp(var->name,n) == 0) {
6178 res = (*var->set_attr)(p);
6183 if (res == 1 && !PyErr_Occurred()) {
6184 PyErr_SetString(PyExc_NameError,"Unknown C global variable");
6189 SWIGINTERN PyTypeObject*
6190 swig_varlink_type(void) {
6191 static char varlink__doc__[] = "Swig var link object";
6192 static PyTypeObject varlink_type;
6193 static int type_init = 0;
6195 const PyTypeObject tmp
6197 PyObject_HEAD_INIT(NULL)
6198 0, /* Number of items in variable part (ob_size) */
6199 (char *)"swigvarlink", /* Type name (tp_name) */
6200 sizeof(swig_varlinkobject), /* Basic size (tp_basicsize) */
6201 0, /* Itemsize (tp_itemsize) */
6202 (destructor) swig_varlink_dealloc, /* Deallocator (tp_dealloc) */
6203 (printfunc) swig_varlink_print, /* Print (tp_print) */
6204 (getattrfunc) swig_varlink_getattr, /* get attr (tp_getattr) */
6205 (setattrfunc) swig_varlink_setattr, /* Set attr (tp_setattr) */
6207 (reprfunc) swig_varlink_repr, /* tp_repr */
6208 0, /* tp_as_number */
6209 0, /* tp_as_sequence */
6210 0, /* tp_as_mapping */
6213 (reprfunc)swig_varlink_str, /* tp_str */
6214 0, /* tp_getattro */
6215 0, /* tp_setattro */
6216 0, /* tp_as_buffer */
6218 varlink__doc__, /* tp_doc */
6219 0, /* tp_traverse */
6221 0, /* tp_richcompare */
6222 0, /* tp_weaklistoffset */
6223 #if PY_VERSION_HEX >= 0x02020000
6224 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* tp_iter -> tp_weaklist */
6226 #if PY_VERSION_HEX >= 0x02030000
6230 0,0,0,0 /* tp_alloc -> tp_next */
6234 varlink_type.ob_type = &PyType_Type;
6237 return &varlink_type;
6240 /* Create a variable linking object for use later */
6241 SWIGINTERN PyObject *
6242 SWIG_Python_newvarlink(void) {
6243 swig_varlinkobject *result = PyObject_NEW(swig_varlinkobject, swig_varlink_type());
6247 return ((PyObject*) result);
6251 SWIG_Python_addvarlink(PyObject *p, char *name, PyObject *(*get_attr)(void), int (*set_attr)(PyObject *p)) {
6252 swig_varlinkobject *v = (swig_varlinkobject *) p;
6253 swig_globalvar *gv = (swig_globalvar *) malloc(sizeof(swig_globalvar));
6255 size_t size = strlen(name)+1;
6256 gv->name = (char *)malloc(size);
6258 strncpy(gv->name,name,size);
6259 gv->get_attr = get_attr;
6260 gv->set_attr = set_attr;
6267 SWIGINTERN PyObject *
6268 SWIG_globals(void) {
6269 static PyObject *_SWIG_globals = 0;
6270 if (!_SWIG_globals) _SWIG_globals = SWIG_newvarlink();
6271 return _SWIG_globals;
6274 /* -----------------------------------------------------------------------------
6275 * constants/methods manipulation
6276 * ----------------------------------------------------------------------------- */
6278 /* Install Constants */
6280 SWIG_Python_InstallConstants(PyObject *d, swig_const_info constants[]) {
6283 for (i = 0; constants[i].type; ++i) {
6284 switch(constants[i].type) {
6285 case SWIG_PY_POINTER:
6286 obj = SWIG_NewPointerObj(constants[i].pvalue, *(constants[i]).ptype,0);
6288 case SWIG_PY_BINARY:
6289 obj = SWIG_NewPackedObj(constants[i].pvalue, constants[i].lvalue, *(constants[i].ptype));
6296 PyDict_SetItemString(d, constants[i].name, obj);
6302 /* -----------------------------------------------------------------------------*/
6303 /* Fix SwigMethods to carry the callback ptrs when needed */
6304 /* -----------------------------------------------------------------------------*/
6307 SWIG_Python_FixMethods(PyMethodDef *methods,
6308 swig_const_info *const_table,
6309 swig_type_info **types,
6310 swig_type_info **types_initial) {
6312 for (i = 0; methods[i].ml_name; ++i) {
6313 const char *c = methods[i].ml_doc;
6314 if (c && (c = strstr(c, "swig_ptr: "))) {
6316 swig_const_info *ci = 0;
6317 const char *name = c + 10;
6318 for (j = 0; const_table[j].type; ++j) {
6319 if (strncmp(const_table[j].name, name,
6320 strlen(const_table[j].name)) == 0) {
6321 ci = &(const_table[j]);
6326 size_t shift = (ci->ptype) - types;
6327 swig_type_info *ty = types_initial[shift];
6328 size_t ldoc = (c - methods[i].ml_doc);
6329 size_t lptr = strlen(ty->name)+2*sizeof(void*)+2;
6330 char *ndoc = (char*)malloc(ldoc + lptr + 10);
6333 void *ptr = (ci->type == SWIG_PY_POINTER) ? ci->pvalue : 0;
6335 strncpy(buff, methods[i].ml_doc, ldoc);
6337 strncpy(buff, "swig_ptr: ", 10);
6339 SWIG_PackVoidPtr(buff, ptr, ty->name, lptr);
6340 methods[i].ml_doc = ndoc;
6352 /* -----------------------------------------------------------------------------*
6353 * Partial Init method
6354 * -----------------------------------------------------------------------------*/
6359 SWIGEXPORT void SWIG_init(void) {
6362 /* Fix SwigMethods to carry the callback ptrs when needed */
6363 SWIG_Python_FixMethods(SwigMethods, swig_const_table, swig_types, swig_type_initial);
6365 m = Py_InitModule((char *) SWIG_name, SwigMethods);
6366 d = PyModule_GetDict(m);
6368 SWIG_InitializeModule(0);
6369 SWIG_InstallConstants(d,swig_const_table);
6372 SWIG_Python_SetConstant(d, "SCOPE_DEFAULT",SWIG_From_int((int)(LDB_SCOPE_DEFAULT)));
6373 SWIG_Python_SetConstant(d, "SCOPE_BASE",SWIG_From_int((int)(LDB_SCOPE_BASE)));
6374 SWIG_Python_SetConstant(d, "SCOPE_ONELEVEL",SWIG_From_int((int)(LDB_SCOPE_ONELEVEL)));
6375 SWIG_Python_SetConstant(d, "SCOPE_SUBTREE",SWIG_From_int((int)(LDB_SCOPE_SUBTREE)));
6376 SWIG_Python_SetConstant(d, "CHANGETYPE_NONE",SWIG_From_int((int)(LDB_CHANGETYPE_NONE)));
6377 SWIG_Python_SetConstant(d, "CHANGETYPE_ADD",SWIG_From_int((int)(LDB_CHANGETYPE_ADD)));
6378 SWIG_Python_SetConstant(d, "CHANGETYPE_DELETE",SWIG_From_int((int)(LDB_CHANGETYPE_DELETE)));
6379 SWIG_Python_SetConstant(d, "CHANGETYPE_MODIFY",SWIG_From_int((int)(LDB_CHANGETYPE_MODIFY)));
6381 PyExc_LdbError = PyErr_NewException((char *)"_ldb.LdbError", NULL, NULL);
6382 PyDict_SetItemString(d, "LdbError", PyExc_LdbError);
6384 SWIG_Python_SetConstant(d, "LDB_ERR_OPERATIONS_ERROR",SWIG_From_int((int)(1)));
6385 SWIG_Python_SetConstant(d, "LDB_ERR_PROTOCOL_ERROR",SWIG_From_int((int)(2)));
6386 SWIG_Python_SetConstant(d, "LDB_ERR_TIME_LIMIT_EXCEEDED",SWIG_From_int((int)(3)));
6387 SWIG_Python_SetConstant(d, "LDB_ERR_SIZE_LIMIT_EXCEEDED",SWIG_From_int((int)(4)));
6388 SWIG_Python_SetConstant(d, "LDB_ERR_COMPARE_FALSE",SWIG_From_int((int)(5)));
6389 SWIG_Python_SetConstant(d, "LDB_ERR_COMPARE_TRUE",SWIG_From_int((int)(6)));
6390 SWIG_Python_SetConstant(d, "LDB_ERR_AUTH_METHOD_NOT_SUPPORTED",SWIG_From_int((int)(7)));
6391 SWIG_Python_SetConstant(d, "LDB_ERR_STRONG_AUTH_REQUIRED",SWIG_From_int((int)(8)));
6392 SWIG_Python_SetConstant(d, "LDB_ERR_REFERRAL",SWIG_From_int((int)(10)));
6393 SWIG_Python_SetConstant(d, "LDB_ERR_ADMIN_LIMIT_EXCEEDED",SWIG_From_int((int)(11)));
6394 SWIG_Python_SetConstant(d, "LDB_ERR_UNSUPPORTED_CRITICAL_EXTENSION",SWIG_From_int((int)(12)));
6395 SWIG_Python_SetConstant(d, "LDB_ERR_CONFIDENTIALITY_REQUIRED",SWIG_From_int((int)(13)));
6396 SWIG_Python_SetConstant(d, "LDB_ERR_SASL_BIND_IN_PROGRESS",SWIG_From_int((int)(14)));
6397 SWIG_Python_SetConstant(d, "LDB_ERR_NO_SUCH_ATTRIBUTE",SWIG_From_int((int)(16)));
6398 SWIG_Python_SetConstant(d, "LDB_ERR_UNDEFINED_ATTRIBUTE_TYPE",SWIG_From_int((int)(17)));
6399 SWIG_Python_SetConstant(d, "LDB_ERR_INAPPROPRIATE_MATCHING",SWIG_From_int((int)(18)));
6400 SWIG_Python_SetConstant(d, "LDB_ERR_CONSTRAINT_VIOLATION",SWIG_From_int((int)(19)));
6401 SWIG_Python_SetConstant(d, "LDB_ERR_ATTRIBUTE_OR_VALUE_EXISTS",SWIG_From_int((int)(20)));
6402 SWIG_Python_SetConstant(d, "LDB_ERR_INVALID_ATTRIBUTE_SYNTAX",SWIG_From_int((int)(21)));
6403 SWIG_Python_SetConstant(d, "LDB_ERR_NO_SUCH_OBJECT",SWIG_From_int((int)(32)));
6404 SWIG_Python_SetConstant(d, "LDB_ERR_ALIAS_PROBLEM",SWIG_From_int((int)(33)));
6405 SWIG_Python_SetConstant(d, "LDB_ERR_INVALID_DN_SYNTAX",SWIG_From_int((int)(34)));
6406 SWIG_Python_SetConstant(d, "LDB_ERR_ALIAS_DEREFERENCING_PROBLEM",SWIG_From_int((int)(36)));
6407 SWIG_Python_SetConstant(d, "LDB_ERR_INAPPROPRIATE_AUTHENTICATION",SWIG_From_int((int)(48)));
6408 SWIG_Python_SetConstant(d, "LDB_ERR_INVALID_CREDENTIALS",SWIG_From_int((int)(49)));
6409 SWIG_Python_SetConstant(d, "LDB_ERR_INSUFFICIENT_ACCESS_RIGHTS",SWIG_From_int((int)(50)));
6410 SWIG_Python_SetConstant(d, "LDB_ERR_BUSY",SWIG_From_int((int)(51)));
6411 SWIG_Python_SetConstant(d, "LDB_ERR_UNAVAILABLE",SWIG_From_int((int)(52)));
6412 SWIG_Python_SetConstant(d, "LDB_ERR_UNWILLING_TO_PERFORM",SWIG_From_int((int)(53)));
6413 SWIG_Python_SetConstant(d, "LDB_ERR_LOOP_DETECT",SWIG_From_int((int)(54)));
6414 SWIG_Python_SetConstant(d, "LDB_ERR_NAMING_VIOLATION",SWIG_From_int((int)(64)));
6415 SWIG_Python_SetConstant(d, "LDB_ERR_OBJECT_CLASS_VIOLATION",SWIG_From_int((int)(65)));
6416 SWIG_Python_SetConstant(d, "LDB_ERR_NOT_ALLOWED_ON_NON_LEAF",SWIG_From_int((int)(66)));
6417 SWIG_Python_SetConstant(d, "LDB_ERR_NOT_ALLOWED_ON_RDN",SWIG_From_int((int)(67)));
6418 SWIG_Python_SetConstant(d, "LDB_ERR_ENTRY_ALREADY_EXISTS",SWIG_From_int((int)(68)));
6419 SWIG_Python_SetConstant(d, "LDB_ERR_OBJECT_CLASS_MODS_PROHIBITED",SWIG_From_int((int)(69)));
6420 SWIG_Python_SetConstant(d, "LDB_ERR_AFFECTS_MULTIPLE_DSAS",SWIG_From_int((int)(71)));
6421 SWIG_Python_SetConstant(d, "LDB_ERR_OTHER",SWIG_From_int((int)(80)));