summaryrefslogtreecommitdiff
path: root/source4/param/param.i
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2007-12-14 01:26:25 +0100
committerStefan Metzmacher <metze@samba.org>2007-12-21 05:50:14 +0100
commit864218b6beebaeb337f14398f0544340ad30dd58 (patch)
tree68c4c61823f37f559903e983aefc544959cd9703 /source4/param/param.i
parentc39c94b499ce9b4fa83362a56f42f71d000492c7 (diff)
downloadsamba-864218b6beebaeb337f14398f0544340ad30dd58.tar.gz
samba-864218b6beebaeb337f14398f0544340ad30dd58.tar.bz2
samba-864218b6beebaeb337f14398f0544340ad30dd58.zip
r26448: Add basic tests for param python module.
(This used to be commit ccfab20dcc2d7059c402c03be244b759d59c4b81)
Diffstat (limited to 'source4/param/param.i')
-rw-r--r--source4/param/param.i23
1 files changed, 18 insertions, 5 deletions
diff --git a/source4/param/param.i b/source4/param/param.i
index aadca9b1fb..ca1bb69184 100644
--- a/source4/param/param.i
+++ b/source4/param/param.i
@@ -40,12 +40,11 @@ typedef struct param_section param_section;
$1 = loadparm_init(NULL);
}
-%typemap(freearg) struct loadparm_context * {
- talloc_free($1);
-}
-
%rename(LoadParm) loadparm_context;
+%nodefaultctor loadparm_context;
+%nodefaultdtor loadparm_context;
+
typedef struct loadparm_context {
%extend {
loadparm_context(TALLOC_CTX *mem_ctx) { return loadparm_init(mem_ctx); }
@@ -85,13 +84,27 @@ typedef struct param_context {
int use(struct param_context *);
int write(const char *fn);
}
+ %pythoncode {
+ def __getitem__(self, name):
+ ret = self.get_section(name)
+ if ret is None:
+ raise KeyError("No such section %s" % name)
+ return ret
+ }
} param;
typedef struct param_section {
%extend {
struct param_opt *get(const char *name);
}
+ %pythoncode {
+ def __getitem__(self, name):
+ ret = self.get_section(name)
+ if ret is None:
+ raise KeyError("No such section %s" % name)
+ return ret
+ }
} param_section;
%rename(default_config) global_loadparm;
-struct loadparm_context *global_loadparm;
+//struct loadparm_context *global_loadparm ;