Add python support for std::ios::openmode and its constants
authorGustavo J. A. M. Carneiro <gjc@inescporto.pt>
Fri, 16 Apr 2010 15:06:27 +0100
changeset 6212 e86d97896f3f
parent 6211 eb3a5837f84b
child 6213 3051b31392c6
Add python support for std::ios::openmode and its constants
bindings/python/ns3modulegen_core_customizations.py
--- a/bindings/python/ns3modulegen_core_customizations.py	Fri Apr 16 14:25:23 2010 +0100
+++ b/bindings/python/ns3modulegen_core_customizations.py	Fri Apr 16 15:06:27 2010 +0100
@@ -413,6 +413,16 @@
                               Parameter.new("::std::ofstream::openmode", 'mode', default_value="std::ios_base::out")])
     ofstream.add_method('close', None, [])
 
+    import pybindgen.typehandlers.base
+    for alias in "std::_Ios_Openmode", "std::ios::openmode":
+        pybindgen.typehandlers.base.param_type_matcher.add_type_alias(alias, "int")
+
+    for flag in 'in', 'out', 'ate', 'app', 'trunc', 'binary':
+        module.after_init.write_code('PyModule_AddIntConstant(m, (char *) "STD_IOS_%s", std::ios::%s);'
+                                     % (flag.upper(), flag))
+
+
+
 def add_ipv4_address_tp_hash(module):
     module.body.writeln('''
 long