diff options
author | danglassey <danglassey> | 2002-08-14 09:57:17 +0000 |
---|---|---|
committer | danglassey <danglassey> | 2002-08-14 09:57:17 +0000 |
commit | c9458897ebbb739d8db83c80e06512d8a612f743 (patch) | |
tree | f8c5381045887e34388cc6b26cfccc254bf766dc /bindings/swig/swconfig.i | |
download | sword-sf-cvs-c9458897ebbb739d8db83c80e06512d8a612f743.tar.gz |
*** empty log message ***
Diffstat (limited to 'bindings/swig/swconfig.i')
-rw-r--r-- | bindings/swig/swconfig.i | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/bindings/swig/swconfig.i b/bindings/swig/swconfig.i new file mode 100644 index 0000000..a934ffc --- /dev/null +++ b/bindings/swig/swconfig.i @@ -0,0 +1,42 @@ +%{ + #include <stdio.h> + #include <string> + #include <map> + #include <defs.h> + #include <multimapwdef.h> + + #include "swconfig.h" +%} + +%include "stl.i" +%include "std_vector.i" +%include "std_string.i" +%include "typemaps.i" + + +typedef multimapwithdefault < string, string, less < string > > ConfigEntMap; +typedef map < string, ConfigEntMap, less < string > > SectionMap; + +class SWConfig { +public: + //member data + string filename; + SectionMap Sections; + + //member functions + SWConfig(const char *ifilename); + virtual ~ SWConfig(); + + virtual void Load(); + virtual void Save(); + +%extend { + void set(const char* group, const char* entry, const char* value) { + self->Sections[group][entry] = value; + }; + const char* get(const char* group, const char* entry) { + return self->Sections[group][entry].c_str(); + }; +} + +}; |