summaryrefslogtreecommitdiff
path: root/source4/param
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2008-01-16 09:00:04 +1100
committerAndrew Bartlett <abartlet@samba.org>2008-01-16 09:00:04 +1100
commitc92a1d0752abf42a76e16e7c19229841ac35dc81 (patch)
treef5702890d17180c6b33285c14b05bc53b0ca629c /source4/param
parent955b110818c00170f7b93d2975de467551c8bc06 (diff)
parentb1fcae724156c2b25f41264943cf4cec8fe68821 (diff)
downloadsamba-c92a1d0752abf42a76e16e7c19229841ac35dc81.tar.gz
samba-c92a1d0752abf42a76e16e7c19229841ac35dc81.tar.bz2
samba-c92a1d0752abf42a76e16e7c19229841ac35dc81.zip
Merge branch 'v4-0-test' of git://git.samba.org/samba into 4-0-local
(This used to be commit d8a805a2544c8864136f77e9086b2a01ae79a1d5)
Diffstat (limited to 'source4/param')
-rw-r--r--source4/param/param.i21
-rw-r--r--source4/param/param_wrap.c20
2 files changed, 41 insertions, 0 deletions
diff --git a/source4/param/param.i b/source4/param/param.i
index 353fa3ced6..eeecb0e5b9 100644
--- a/source4/param/param.i
+++ b/source4/param/param.i
@@ -290,3 +290,24 @@ typedef struct param_section {
%rename(default_config) global_loadparm;
struct loadparm_context *global_loadparm;
+
+%{
+
+struct loadparm_context *lp_from_py_object(PyObject *py_obj)
+{
+ struct loadparm_context *lp_ctx;
+ if (PyString_Check(py_obj)) {
+ lp_ctx = loadparm_init(NULL);
+ if (!lp_load(lp_ctx, PyString_AsString(py_obj))) {
+ talloc_free(lp_ctx);
+ return NULL;
+ }
+ return lp_ctx;
+ }
+
+ if (SWIG_ConvertPtr(py_obj, (void *)&lp_ctx, SWIGTYPE_p_loadparm_context, 0 | 0 ) < 0)
+ return NULL;
+ return lp_ctx;
+}
+
+%}
diff --git a/source4/param/param_wrap.c b/source4/param/param_wrap.c
index ca9fbb77b8..d8be725c5e 100644
--- a/source4/param/param_wrap.c
+++ b/source4/param/param_wrap.c
@@ -2760,6 +2760,26 @@ SWIGINTERN char const *param_opt___str__(param_opt *self){ return self->value; }
SWIGINTERN void delete_param_opt(param_opt *self){ talloc_free(self); }
SWIGINTERN struct param_opt *param_section_first_parameter(param_section *self){ return self->parameters; }
SWIGINTERN struct param_opt *param_section_next_parameter(param_section *self,struct param_opt *s){ return s->next; }
+
+
+struct loadparm_context *lp_from_py_object(PyObject *py_obj)
+{
+ struct loadparm_context *lp_ctx;
+ if (PyString_Check(py_obj)) {
+ lp_ctx = loadparm_init(NULL);
+ if (!lp_load(lp_ctx, PyString_AsString(py_obj))) {
+ talloc_free(lp_ctx);
+ return NULL;
+ }
+ return lp_ctx;
+ }
+
+ if (SWIG_ConvertPtr(py_obj, (void *)&lp_ctx, SWIGTYPE_p_loadparm_context, 0 | 0 ) < 0)
+ return NULL;
+ return lp_ctx;
+}
+
+
#ifdef __cplusplus
extern "C" {
#endif