Rescan python bindings.
1 from pybindgen import Module, FileCodeSink, param, retval, cppclass
4 import pybindgen.settings
7 class ErrorHandler(pybindgen.settings.ErrorHandler):
8 def handle_error(self, wrapper, exception, traceback_):
9 warnings.warn("exception %r in wrapper %s" % (exception, wrapper))
11 pybindgen.settings.error_handler = ErrorHandler()
15 import ns3_module_core
16 import ns3_module_simulator
17 import ns3_module_mobility
18 import ns3_module_common
19 import ns3_module_node
20 import ns3_module_contrib
21 import ns3_module_point_to_point
22 import ns3_module_stats
23 import ns3_module_tap_bridge
24 import ns3_module_internet_stack
25 import ns3_module_wifi
26 import ns3_module_csma
28 import ns3_module_bridge
29 import ns3_module_onoff
30 import ns3_module_packet_sink
31 import ns3_module_v4ping
32 import ns3_module_global_routing
33 import ns3_module_udp_echo
34 import ns3_module_olsr
35 import ns3_module_helper
38 root_module = Module('ns3', cpp_namespace='::ns3')
41 def register_types(module):
42 root_module = module.get_root()
44 root_module.begin_section('ns3_module_core')
45 ns3_module_core.register_types(module)
48 import ns3_module_core__local
52 ns3_module_core__local.register_types(module)
54 root_module.end_section('ns3_module_core')
55 root_module.begin_section('ns3_module_simulator')
56 ns3_module_simulator.register_types(module)
59 import ns3_module_simulator__local
63 ns3_module_simulator__local.register_types(module)
65 root_module.end_section('ns3_module_simulator')
66 root_module.begin_section('ns3_module_mobility')
67 ns3_module_mobility.register_types(module)
70 import ns3_module_mobility__local
74 ns3_module_mobility__local.register_types(module)
76 root_module.end_section('ns3_module_mobility')
77 root_module.begin_section('ns3_module_common')
78 ns3_module_common.register_types(module)
81 import ns3_module_common__local
85 ns3_module_common__local.register_types(module)
87 root_module.end_section('ns3_module_common')
88 root_module.begin_section('ns3_module_node')
89 ns3_module_node.register_types(module)
92 import ns3_module_node__local
96 ns3_module_node__local.register_types(module)
98 root_module.end_section('ns3_module_node')
99 root_module.begin_section('ns3_module_contrib')
100 ns3_module_contrib.register_types(module)
103 import ns3_module_contrib__local
107 ns3_module_contrib__local.register_types(module)
109 root_module.end_section('ns3_module_contrib')
110 root_module.begin_section('ns3_module_point_to_point')
111 ns3_module_point_to_point.register_types(module)
114 import ns3_module_point_to_point__local
118 ns3_module_point_to_point__local.register_types(module)
120 root_module.end_section('ns3_module_point_to_point')
121 root_module.begin_section('ns3_module_stats')
122 ns3_module_stats.register_types(module)
125 import ns3_module_stats__local
129 ns3_module_stats__local.register_types(module)
131 root_module.end_section('ns3_module_stats')
132 root_module.begin_section('ns3_module_tap_bridge')
133 ns3_module_tap_bridge.register_types(module)
136 import ns3_module_tap_bridge__local
140 ns3_module_tap_bridge__local.register_types(module)
142 root_module.end_section('ns3_module_tap_bridge')
143 root_module.begin_section('ns3_module_internet_stack')
144 ns3_module_internet_stack.register_types(module)
147 import ns3_module_internet_stack__local
151 ns3_module_internet_stack__local.register_types(module)
153 root_module.end_section('ns3_module_internet_stack')
154 root_module.begin_section('ns3_module_wifi')
155 ns3_module_wifi.register_types(module)
158 import ns3_module_wifi__local
162 ns3_module_wifi__local.register_types(module)
164 root_module.end_section('ns3_module_wifi')
165 root_module.begin_section('ns3_module_csma')
166 ns3_module_csma.register_types(module)
169 import ns3_module_csma__local
173 ns3_module_csma__local.register_types(module)
175 root_module.end_section('ns3_module_csma')
176 root_module.begin_section('ns3_module_emu')
177 ns3_module_emu.register_types(module)
180 import ns3_module_emu__local
184 ns3_module_emu__local.register_types(module)
186 root_module.end_section('ns3_module_emu')
187 root_module.begin_section('ns3_module_bridge')
188 ns3_module_bridge.register_types(module)
191 import ns3_module_bridge__local
195 ns3_module_bridge__local.register_types(module)
197 root_module.end_section('ns3_module_bridge')
198 root_module.begin_section('ns3_module_onoff')
199 ns3_module_onoff.register_types(module)
202 import ns3_module_onoff__local
206 ns3_module_onoff__local.register_types(module)
208 root_module.end_section('ns3_module_onoff')
209 root_module.begin_section('ns3_module_packet_sink')
210 ns3_module_packet_sink.register_types(module)
213 import ns3_module_packet_sink__local
217 ns3_module_packet_sink__local.register_types(module)
219 root_module.end_section('ns3_module_packet_sink')
220 root_module.begin_section('ns3_module_v4ping')
221 ns3_module_v4ping.register_types(module)
224 import ns3_module_v4ping__local
228 ns3_module_v4ping__local.register_types(module)
230 root_module.end_section('ns3_module_v4ping')
231 root_module.begin_section('ns3_module_global_routing')
232 ns3_module_global_routing.register_types(module)
235 import ns3_module_global_routing__local
239 ns3_module_global_routing__local.register_types(module)
241 root_module.end_section('ns3_module_global_routing')
242 root_module.begin_section('ns3_module_udp_echo')
243 ns3_module_udp_echo.register_types(module)
246 import ns3_module_udp_echo__local
250 ns3_module_udp_echo__local.register_types(module)
252 root_module.end_section('ns3_module_udp_echo')
253 root_module.begin_section('ns3_module_olsr')
254 ns3_module_olsr.register_types(module)
257 import ns3_module_olsr__local
261 ns3_module_olsr__local.register_types(module)
263 root_module.end_section('ns3_module_olsr')
264 root_module.begin_section('ns3_module_helper')
265 ns3_module_helper.register_types(module)
268 import ns3_module_helper__local
272 ns3_module_helper__local.register_types(module)
274 root_module.end_section('ns3_module_helper')
275 module.add_container('std::vector< unsigned int >', 'unsigned int', container_type='vector')
276 module.add_container('std::list< unsigned int >', 'unsigned int', container_type='list')
278 ## Register a nested module for the namespace Config
280 nested_module = module.add_cpp_namespace('Config')
281 register_types_ns3_Config(nested_module)
284 ## Register a nested module for the namespace TimeStepPrecision
286 nested_module = module.add_cpp_namespace('TimeStepPrecision')
287 register_types_ns3_TimeStepPrecision(nested_module)
290 ## Register a nested module for the namespace internal
292 nested_module = module.add_cpp_namespace('internal')
293 register_types_ns3_internal(nested_module)
296 ## Register a nested module for the namespace olsr
298 nested_module = module.add_cpp_namespace('olsr')
299 register_types_ns3_olsr(nested_module)
302 def register_types_ns3_Config(module):
303 root_module = module.get_root()
305 module.add_container('std::vector< std::string >', 'std::string', container_type='vector')
307 def register_types_ns3_TimeStepPrecision(module):
308 root_module = module.get_root()
311 def register_types_ns3_internal(module):
312 root_module = module.get_root()
315 def register_types_ns3_olsr(module):
316 root_module = module.get_root()
319 def register_methods(root_module):
320 root_module.begin_section('ns3_module_core')
321 ns3_module_core.register_methods(root_module)
324 import ns3_module_core__local
328 ns3_module_core__local.register_methods(root_module)
330 root_module.end_section('ns3_module_core')
331 root_module.begin_section('ns3_module_simulator')
332 ns3_module_simulator.register_methods(root_module)
335 import ns3_module_simulator__local
339 ns3_module_simulator__local.register_methods(root_module)
341 root_module.end_section('ns3_module_simulator')
342 root_module.begin_section('ns3_module_mobility')
343 ns3_module_mobility.register_methods(root_module)
346 import ns3_module_mobility__local
350 ns3_module_mobility__local.register_methods(root_module)
352 root_module.end_section('ns3_module_mobility')
353 root_module.begin_section('ns3_module_common')
354 ns3_module_common.register_methods(root_module)
357 import ns3_module_common__local
361 ns3_module_common__local.register_methods(root_module)
363 root_module.end_section('ns3_module_common')
364 root_module.begin_section('ns3_module_node')
365 ns3_module_node.register_methods(root_module)
368 import ns3_module_node__local
372 ns3_module_node__local.register_methods(root_module)
374 root_module.end_section('ns3_module_node')
375 root_module.begin_section('ns3_module_contrib')
376 ns3_module_contrib.register_methods(root_module)
379 import ns3_module_contrib__local
383 ns3_module_contrib__local.register_methods(root_module)
385 root_module.end_section('ns3_module_contrib')
386 root_module.begin_section('ns3_module_point_to_point')
387 ns3_module_point_to_point.register_methods(root_module)
390 import ns3_module_point_to_point__local
394 ns3_module_point_to_point__local.register_methods(root_module)
396 root_module.end_section('ns3_module_point_to_point')
397 root_module.begin_section('ns3_module_stats')
398 ns3_module_stats.register_methods(root_module)
401 import ns3_module_stats__local
405 ns3_module_stats__local.register_methods(root_module)
407 root_module.end_section('ns3_module_stats')
408 root_module.begin_section('ns3_module_tap_bridge')
409 ns3_module_tap_bridge.register_methods(root_module)
412 import ns3_module_tap_bridge__local
416 ns3_module_tap_bridge__local.register_methods(root_module)
418 root_module.end_section('ns3_module_tap_bridge')
419 root_module.begin_section('ns3_module_internet_stack')
420 ns3_module_internet_stack.register_methods(root_module)
423 import ns3_module_internet_stack__local
427 ns3_module_internet_stack__local.register_methods(root_module)
429 root_module.end_section('ns3_module_internet_stack')
430 root_module.begin_section('ns3_module_wifi')
431 ns3_module_wifi.register_methods(root_module)
434 import ns3_module_wifi__local
438 ns3_module_wifi__local.register_methods(root_module)
440 root_module.end_section('ns3_module_wifi')
441 root_module.begin_section('ns3_module_csma')
442 ns3_module_csma.register_methods(root_module)
445 import ns3_module_csma__local
449 ns3_module_csma__local.register_methods(root_module)
451 root_module.end_section('ns3_module_csma')
452 root_module.begin_section('ns3_module_emu')
453 ns3_module_emu.register_methods(root_module)
456 import ns3_module_emu__local
460 ns3_module_emu__local.register_methods(root_module)
462 root_module.end_section('ns3_module_emu')
463 root_module.begin_section('ns3_module_bridge')
464 ns3_module_bridge.register_methods(root_module)
467 import ns3_module_bridge__local
471 ns3_module_bridge__local.register_methods(root_module)
473 root_module.end_section('ns3_module_bridge')
474 root_module.begin_section('ns3_module_onoff')
475 ns3_module_onoff.register_methods(root_module)
478 import ns3_module_onoff__local
482 ns3_module_onoff__local.register_methods(root_module)
484 root_module.end_section('ns3_module_onoff')
485 root_module.begin_section('ns3_module_packet_sink')
486 ns3_module_packet_sink.register_methods(root_module)
489 import ns3_module_packet_sink__local
493 ns3_module_packet_sink__local.register_methods(root_module)
495 root_module.end_section('ns3_module_packet_sink')
496 root_module.begin_section('ns3_module_v4ping')
497 ns3_module_v4ping.register_methods(root_module)
500 import ns3_module_v4ping__local
504 ns3_module_v4ping__local.register_methods(root_module)
506 root_module.end_section('ns3_module_v4ping')
507 root_module.begin_section('ns3_module_global_routing')
508 ns3_module_global_routing.register_methods(root_module)
511 import ns3_module_global_routing__local
515 ns3_module_global_routing__local.register_methods(root_module)
517 root_module.end_section('ns3_module_global_routing')
518 root_module.begin_section('ns3_module_udp_echo')
519 ns3_module_udp_echo.register_methods(root_module)
522 import ns3_module_udp_echo__local
526 ns3_module_udp_echo__local.register_methods(root_module)
528 root_module.end_section('ns3_module_udp_echo')
529 root_module.begin_section('ns3_module_olsr')
530 ns3_module_olsr.register_methods(root_module)
533 import ns3_module_olsr__local
537 ns3_module_olsr__local.register_methods(root_module)
539 root_module.end_section('ns3_module_olsr')
540 root_module.begin_section('ns3_module_helper')
541 ns3_module_helper.register_methods(root_module)
544 import ns3_module_helper__local
548 ns3_module_helper__local.register_methods(root_module)
550 root_module.end_section('ns3_module_helper')
553 def register_functions(root_module):
555 root_module.begin_section('ns3_module_core')
556 ns3_module_core.register_functions(root_module)
559 import ns3_module_core__local
563 ns3_module_core__local.register_functions(root_module)
565 root_module.end_section('ns3_module_core')
566 root_module.begin_section('ns3_module_simulator')
567 ns3_module_simulator.register_functions(root_module)
570 import ns3_module_simulator__local
574 ns3_module_simulator__local.register_functions(root_module)
576 root_module.end_section('ns3_module_simulator')
577 root_module.begin_section('ns3_module_mobility')
578 ns3_module_mobility.register_functions(root_module)
581 import ns3_module_mobility__local
585 ns3_module_mobility__local.register_functions(root_module)
587 root_module.end_section('ns3_module_mobility')
588 root_module.begin_section('ns3_module_common')
589 ns3_module_common.register_functions(root_module)
592 import ns3_module_common__local
596 ns3_module_common__local.register_functions(root_module)
598 root_module.end_section('ns3_module_common')
599 root_module.begin_section('ns3_module_node')
600 ns3_module_node.register_functions(root_module)
603 import ns3_module_node__local
607 ns3_module_node__local.register_functions(root_module)
609 root_module.end_section('ns3_module_node')
610 root_module.begin_section('ns3_module_contrib')
611 ns3_module_contrib.register_functions(root_module)
614 import ns3_module_contrib__local
618 ns3_module_contrib__local.register_functions(root_module)
620 root_module.end_section('ns3_module_contrib')
621 root_module.begin_section('ns3_module_point_to_point')
622 ns3_module_point_to_point.register_functions(root_module)
625 import ns3_module_point_to_point__local
629 ns3_module_point_to_point__local.register_functions(root_module)
631 root_module.end_section('ns3_module_point_to_point')
632 root_module.begin_section('ns3_module_stats')
633 ns3_module_stats.register_functions(root_module)
636 import ns3_module_stats__local
640 ns3_module_stats__local.register_functions(root_module)
642 root_module.end_section('ns3_module_stats')
643 root_module.begin_section('ns3_module_tap_bridge')
644 ns3_module_tap_bridge.register_functions(root_module)
647 import ns3_module_tap_bridge__local
651 ns3_module_tap_bridge__local.register_functions(root_module)
653 root_module.end_section('ns3_module_tap_bridge')
654 root_module.begin_section('ns3_module_internet_stack')
655 ns3_module_internet_stack.register_functions(root_module)
658 import ns3_module_internet_stack__local
662 ns3_module_internet_stack__local.register_functions(root_module)
664 root_module.end_section('ns3_module_internet_stack')
665 root_module.begin_section('ns3_module_wifi')
666 ns3_module_wifi.register_functions(root_module)
669 import ns3_module_wifi__local
673 ns3_module_wifi__local.register_functions(root_module)
675 root_module.end_section('ns3_module_wifi')
676 root_module.begin_section('ns3_module_csma')
677 ns3_module_csma.register_functions(root_module)
680 import ns3_module_csma__local
684 ns3_module_csma__local.register_functions(root_module)
686 root_module.end_section('ns3_module_csma')
687 root_module.begin_section('ns3_module_emu')
688 ns3_module_emu.register_functions(root_module)
691 import ns3_module_emu__local
695 ns3_module_emu__local.register_functions(root_module)
697 root_module.end_section('ns3_module_emu')
698 root_module.begin_section('ns3_module_bridge')
699 ns3_module_bridge.register_functions(root_module)
702 import ns3_module_bridge__local
706 ns3_module_bridge__local.register_functions(root_module)
708 root_module.end_section('ns3_module_bridge')
709 root_module.begin_section('ns3_module_onoff')
710 ns3_module_onoff.register_functions(root_module)
713 import ns3_module_onoff__local
717 ns3_module_onoff__local.register_functions(root_module)
719 root_module.end_section('ns3_module_onoff')
720 root_module.begin_section('ns3_module_packet_sink')
721 ns3_module_packet_sink.register_functions(root_module)
724 import ns3_module_packet_sink__local
728 ns3_module_packet_sink__local.register_functions(root_module)
730 root_module.end_section('ns3_module_packet_sink')
731 root_module.begin_section('ns3_module_v4ping')
732 ns3_module_v4ping.register_functions(root_module)
735 import ns3_module_v4ping__local
739 ns3_module_v4ping__local.register_functions(root_module)
741 root_module.end_section('ns3_module_v4ping')
742 root_module.begin_section('ns3_module_global_routing')
743 ns3_module_global_routing.register_functions(root_module)
746 import ns3_module_global_routing__local
750 ns3_module_global_routing__local.register_functions(root_module)
752 root_module.end_section('ns3_module_global_routing')
753 root_module.begin_section('ns3_module_udp_echo')
754 ns3_module_udp_echo.register_functions(root_module)
757 import ns3_module_udp_echo__local
761 ns3_module_udp_echo__local.register_functions(root_module)
763 root_module.end_section('ns3_module_udp_echo')
764 root_module.begin_section('ns3_module_olsr')
765 ns3_module_olsr.register_functions(root_module)
768 import ns3_module_olsr__local
772 ns3_module_olsr__local.register_functions(root_module)
774 root_module.end_section('ns3_module_olsr')
775 root_module.begin_section('ns3_module_helper')
776 ns3_module_helper.register_functions(root_module)
779 import ns3_module_helper__local
783 ns3_module_helper__local.register_functions(root_module)
785 root_module.end_section('ns3_module_helper')
786 register_functions_ns3_Config(module.get_submodule('Config'), root_module)
787 register_functions_ns3_TimeStepPrecision(module.get_submodule('TimeStepPrecision'), root_module)
788 register_functions_ns3_internal(module.get_submodule('internal'), root_module)
789 register_functions_ns3_olsr(module.get_submodule('olsr'), root_module)
792 def register_functions_ns3_Config(module, root_module):
795 def register_functions_ns3_TimeStepPrecision(module, root_module):
798 def register_functions_ns3_internal(module, root_module):
801 def register_functions_ns3_olsr(module, root_module):
805 out = FileCodeSink(sys.stdout)
806 root_module = module_init()
807 register_types(root_module)
808 register_methods(root_module)
809 register_functions(root_module)
810 root_module.generate(out)
812 if __name__ == '__main__':