summaryrefslogtreecommitdiff
path: root/source4/scripting/swig/ldb.i
diff options
context:
space:
mode:
Diffstat (limited to 'source4/scripting/swig/ldb.i')
-rw-r--r--source4/scripting/swig/ldb.i219
1 files changed, 0 insertions, 219 deletions
diff --git a/source4/scripting/swig/ldb.i b/source4/scripting/swig/ldb.i
deleted file mode 100644
index 31c1ffe3e4..0000000000
--- a/source4/scripting/swig/ldb.i
+++ /dev/null
@@ -1,219 +0,0 @@
-/*
- Unix SMB/CIFS implementation.
-
- Swig interface to ldb.
-
- Copyright (C) 2005,2006 Tim Potter <tpot@samba.org>
- Copyright (C) 2006 Simo Sorce <idra@samba.org>
-
- ** NOTE! The following LGPL license applies to the ldb
- ** library. This does NOT imply that all of Samba is released
- ** under the LGPL
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with this library; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*/
-
-%module ldb
-
-%{
-
-/* Some typedefs to help swig along */
-
-typedef unsigned char uint8_t;
-typedef unsigned long long uint64_t;
-typedef long long int64_t;
-
-/* Include headers */
-
-#include "lib/ldb/include/ldb.h"
-#include "lib/talloc/talloc.h"
-
-%}
-
-%include "carrays.i"
-%include "exception.i"
-
-/*
- * Wrap struct ldb_context
- */
-
-/* The ldb functions will crash if a NULL ldb context is passed so
- catch this before it happens. */
-
-%typemap(check) struct ldb_context* {
- if ($1 == NULL)
- SWIG_exception(SWIG_ValueError,
- "ldb context must be non-NULL");
-}
-
-/*
- * Wrap TALLOC_CTX
- */
-
-/* Use talloc_init() to create a parameter to pass to ldb_init(). Don't
- forget to free it using talloc_free() afterwards. */
-
-TALLOC_CTX *talloc_init(char *name);
-int talloc_free(TALLOC_CTX *ptr);
-
-/*
- * Wrap struct ldb_val
- */
-
-%typemap(in) struct ldb_val {
- if (!PyString_Check($input)) {
- PyErr_SetString(PyExc_TypeError, "string arg expected");
- return NULL;
- }
- $1.length = PyString_Size($input);
- $1.data = PyString_AsString($input);
-}
-
-%typemap(out) struct ldb_val {
- if ($1.data == NULL && $1.length == 0) {
- $result = Py_None;
- } else {
- $result = PyString_FromStringAndSize($1.data, $1.length);
- }
-}
-
-enum ldb_scope {LDB_SCOPE_DEFAULT=-1,
- LDB_SCOPE_BASE=0,
- LDB_SCOPE_ONELEVEL=1,
- LDB_SCOPE_SUBTREE=2};
-
-/*
- * Wrap struct ldb_result
- */
-
-%typemap(in, numinputs=0) struct ldb_result **OUT (struct ldb_result *temp_ldb_result) {
- $1 = &temp_ldb_result;
-}
-
-%typemap(argout) struct ldb_result ** {
-
- /* XXX: Check result for error and throw exception if necessary */
-
- resultobj = SWIG_NewPointerObj(*$1, SWIGTYPE_p_ldb_result, 0);
-}
-
-%types(struct ldb_result *);
-
-/*
- * Wrap struct ldb_dn
- */
-
-%typemap(in) struct ldb_dn * {
- if ($input == Py_None) {
- $1 = NULL;
- } else if (!PyString_Check($input)) {
- PyErr_SetString(PyExc_TypeError, "string arg expected");
- return NULL;
- } else {
- $1 = ldb_dn_explode(NULL, PyString_AsString($input));
- }
-}
-
-%typemap(out) struct ldb_dn * {
- $result = PyString_FromString(ldb_dn_linearize($1, $1));
-}
-
-/*
- * Wrap struct ldb_message_element
- */
-
-%array_functions(struct ldb_val, ldb_val_array);
-
-struct ldb_message_element {
- unsigned int flags;
- const char *name;
- unsigned int num_values;
- struct ldb_val *values;
-};
-
-/*
- * Wrap struct ldb_message
- */
-
-%array_functions(struct ldb_message_element, ldb_message_element_array);
-
-struct ldb_message {
- struct ldb_dn *dn;
- unsigned int num_elements;
- struct ldb_message_element *elements;
- void *private_data; /* private to the backend */
-};
-
-%typemap(in) struct ldb_message * {
- PyObject *obj, *key, *value;
- int pos;
-
- $1 = ldb_msg_new(NULL);
-
- obj = PyObject_GetAttrString($input, "dn");
- $1->dn = ldb_dn_explode(NULL, PyString_AsString(obj));
-
- obj = PyObject_GetAttrString($input, "private_data");
- $1->private_data = PyString_AsString(obj);
-
- obj = PyObject_GetAttrString($input, "elements");
-
- pos = 0;
- while (PyDict_Next(obj, &pos, &key, &value)) {
- struct ldb_val v;
-
- v.data = PyString_AsString(value);
- v.length = PyString_Size(value);
- ldb_msg_add_value($1, PyString_AsString(key), &v);
- }
-}
-
-/*
- * Wrap struct ldb_result
- */
-
-%array_functions(struct ldb_message *, ldb_message_ptr_array);
-
-struct ldb_result {
- unsigned int count;
- struct ldb_message **msgs;
- char **refs;
- struct ldb_control **controls;
-};
-
-/*
- * Wrap ldb functions
- */
-
-%rename ldb_init init;
-struct ldb_context *ldb_init(TALLOC_CTX *mem_ctx);
-
-%rename ldb_errstring errstring;
-const char *ldb_errstring(struct ldb_context *ldb);
-
-%rename ldb_connect connect;
-int ldb_connect(struct ldb_context *ldb, const char *url, unsigned int flags, const char *options[]);
-
-%rename ldb_search search;
-int ldb_search(struct ldb_context *ldb, const struct ldb_dn *base, enum ldb_scope scope, const char *expression, const char * const *attrs, struct ldb_result **OUT);
-
-%rename ldb_delete delete;
-int ldb_delete(struct ldb_context *ldb, const struct ldb_dn *dn);
-
-%rename ldb_rename rename;
-int ldb_rename(struct ldb_context *ldb, const struct ldb_dn *olddn, const struct ldb_dn *newdn);
-
-%rename ldb_add add;
-int ldb_add(struct ldb_context *ldb, const struct ldb_message *message);