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')
277 module.add_container('std::list< std::pair< ns3::Ptr< ns3::Packet >, ns3::AmsduSubframeHeader > >', 'std::pair< ns3::Ptr< ns3::Packet >, ns3::AmsduSubframeHeader >', container_type='list')
279 ## Register a nested module for the namespace Config
281 nested_module = module.add_cpp_namespace('Config')
282 register_types_ns3_Config(nested_module)
285 ## Register a nested module for the namespace TimeStepPrecision
287 nested_module = module.add_cpp_namespace('TimeStepPrecision')
288 register_types_ns3_TimeStepPrecision(nested_module)
291 ## Register a nested module for the namespace internal
293 nested_module = module.add_cpp_namespace('internal')
294 register_types_ns3_internal(nested_module)
297 ## Register a nested module for the namespace olsr
299 nested_module = module.add_cpp_namespace('olsr')
300 register_types_ns3_olsr(nested_module)
303 def register_types_ns3_Config(module):
304 root_module = module.get_root()
306 module.add_container('std::vector< std::string >', 'std::string', container_type='vector')
308 def register_types_ns3_TimeStepPrecision(module):
309 root_module = module.get_root()
312 def register_types_ns3_internal(module):
313 root_module = module.get_root()
316 def register_types_ns3_olsr(module):
317 root_module = module.get_root()
320 def register_methods(root_module):
321 root_module.begin_section('ns3_module_core')
322 ns3_module_core.register_methods(root_module)
325 import ns3_module_core__local
329 ns3_module_core__local.register_methods(root_module)
331 root_module.end_section('ns3_module_core')
332 root_module.begin_section('ns3_module_simulator')
333 ns3_module_simulator.register_methods(root_module)
336 import ns3_module_simulator__local
340 ns3_module_simulator__local.register_methods(root_module)
342 root_module.end_section('ns3_module_simulator')
343 root_module.begin_section('ns3_module_mobility')
344 ns3_module_mobility.register_methods(root_module)
347 import ns3_module_mobility__local
351 ns3_module_mobility__local.register_methods(root_module)
353 root_module.end_section('ns3_module_mobility')
354 root_module.begin_section('ns3_module_common')
355 ns3_module_common.register_methods(root_module)
358 import ns3_module_common__local
362 ns3_module_common__local.register_methods(root_module)
364 root_module.end_section('ns3_module_common')
365 root_module.begin_section('ns3_module_node')
366 ns3_module_node.register_methods(root_module)
369 import ns3_module_node__local
373 ns3_module_node__local.register_methods(root_module)
375 root_module.end_section('ns3_module_node')
376 root_module.begin_section('ns3_module_contrib')
377 ns3_module_contrib.register_methods(root_module)
380 import ns3_module_contrib__local
384 ns3_module_contrib__local.register_methods(root_module)
386 root_module.end_section('ns3_module_contrib')
387 root_module.begin_section('ns3_module_point_to_point')
388 ns3_module_point_to_point.register_methods(root_module)
391 import ns3_module_point_to_point__local
395 ns3_module_point_to_point__local.register_methods(root_module)
397 root_module.end_section('ns3_module_point_to_point')
398 root_module.begin_section('ns3_module_stats')
399 ns3_module_stats.register_methods(root_module)
402 import ns3_module_stats__local
406 ns3_module_stats__local.register_methods(root_module)
408 root_module.end_section('ns3_module_stats')
409 root_module.begin_section('ns3_module_tap_bridge')
410 ns3_module_tap_bridge.register_methods(root_module)
413 import ns3_module_tap_bridge__local
417 ns3_module_tap_bridge__local.register_methods(root_module)
419 root_module.end_section('ns3_module_tap_bridge')
420 root_module.begin_section('ns3_module_internet_stack')
421 ns3_module_internet_stack.register_methods(root_module)
424 import ns3_module_internet_stack__local
428 ns3_module_internet_stack__local.register_methods(root_module)
430 root_module.end_section('ns3_module_internet_stack')
431 root_module.begin_section('ns3_module_wifi')
432 ns3_module_wifi.register_methods(root_module)
435 import ns3_module_wifi__local
439 ns3_module_wifi__local.register_methods(root_module)
441 root_module.end_section('ns3_module_wifi')
442 root_module.begin_section('ns3_module_csma')
443 ns3_module_csma.register_methods(root_module)
446 import ns3_module_csma__local
450 ns3_module_csma__local.register_methods(root_module)
452 root_module.end_section('ns3_module_csma')
453 root_module.begin_section('ns3_module_emu')
454 ns3_module_emu.register_methods(root_module)
457 import ns3_module_emu__local
461 ns3_module_emu__local.register_methods(root_module)
463 root_module.end_section('ns3_module_emu')
464 root_module.begin_section('ns3_module_bridge')
465 ns3_module_bridge.register_methods(root_module)
468 import ns3_module_bridge__local
472 ns3_module_bridge__local.register_methods(root_module)
474 root_module.end_section('ns3_module_bridge')
475 root_module.begin_section('ns3_module_onoff')
476 ns3_module_onoff.register_methods(root_module)
479 import ns3_module_onoff__local
483 ns3_module_onoff__local.register_methods(root_module)
485 root_module.end_section('ns3_module_onoff')
486 root_module.begin_section('ns3_module_packet_sink')
487 ns3_module_packet_sink.register_methods(root_module)
490 import ns3_module_packet_sink__local
494 ns3_module_packet_sink__local.register_methods(root_module)
496 root_module.end_section('ns3_module_packet_sink')
497 root_module.begin_section('ns3_module_v4ping')
498 ns3_module_v4ping.register_methods(root_module)
501 import ns3_module_v4ping__local
505 ns3_module_v4ping__local.register_methods(root_module)
507 root_module.end_section('ns3_module_v4ping')
508 root_module.begin_section('ns3_module_global_routing')
509 ns3_module_global_routing.register_methods(root_module)
512 import ns3_module_global_routing__local
516 ns3_module_global_routing__local.register_methods(root_module)
518 root_module.end_section('ns3_module_global_routing')
519 root_module.begin_section('ns3_module_udp_echo')
520 ns3_module_udp_echo.register_methods(root_module)
523 import ns3_module_udp_echo__local
527 ns3_module_udp_echo__local.register_methods(root_module)
529 root_module.end_section('ns3_module_udp_echo')
530 root_module.begin_section('ns3_module_olsr')
531 ns3_module_olsr.register_methods(root_module)
534 import ns3_module_olsr__local
538 ns3_module_olsr__local.register_methods(root_module)
540 root_module.end_section('ns3_module_olsr')
541 root_module.begin_section('ns3_module_helper')
542 ns3_module_helper.register_methods(root_module)
545 import ns3_module_helper__local
549 ns3_module_helper__local.register_methods(root_module)
551 root_module.end_section('ns3_module_helper')
554 def register_functions(root_module):
556 root_module.begin_section('ns3_module_core')
557 ns3_module_core.register_functions(root_module)
560 import ns3_module_core__local
564 ns3_module_core__local.register_functions(root_module)
566 root_module.end_section('ns3_module_core')
567 root_module.begin_section('ns3_module_simulator')
568 ns3_module_simulator.register_functions(root_module)
571 import ns3_module_simulator__local
575 ns3_module_simulator__local.register_functions(root_module)
577 root_module.end_section('ns3_module_simulator')
578 root_module.begin_section('ns3_module_mobility')
579 ns3_module_mobility.register_functions(root_module)
582 import ns3_module_mobility__local
586 ns3_module_mobility__local.register_functions(root_module)
588 root_module.end_section('ns3_module_mobility')
589 root_module.begin_section('ns3_module_common')
590 ns3_module_common.register_functions(root_module)
593 import ns3_module_common__local
597 ns3_module_common__local.register_functions(root_module)
599 root_module.end_section('ns3_module_common')
600 root_module.begin_section('ns3_module_node')
601 ns3_module_node.register_functions(root_module)
604 import ns3_module_node__local
608 ns3_module_node__local.register_functions(root_module)
610 root_module.end_section('ns3_module_node')
611 root_module.begin_section('ns3_module_contrib')
612 ns3_module_contrib.register_functions(root_module)
615 import ns3_module_contrib__local
619 ns3_module_contrib__local.register_functions(root_module)
621 root_module.end_section('ns3_module_contrib')
622 root_module.begin_section('ns3_module_point_to_point')
623 ns3_module_point_to_point.register_functions(root_module)
626 import ns3_module_point_to_point__local
630 ns3_module_point_to_point__local.register_functions(root_module)
632 root_module.end_section('ns3_module_point_to_point')
633 root_module.begin_section('ns3_module_stats')
634 ns3_module_stats.register_functions(root_module)
637 import ns3_module_stats__local
641 ns3_module_stats__local.register_functions(root_module)
643 root_module.end_section('ns3_module_stats')
644 root_module.begin_section('ns3_module_tap_bridge')
645 ns3_module_tap_bridge.register_functions(root_module)
648 import ns3_module_tap_bridge__local
652 ns3_module_tap_bridge__local.register_functions(root_module)
654 root_module.end_section('ns3_module_tap_bridge')
655 root_module.begin_section('ns3_module_internet_stack')
656 ns3_module_internet_stack.register_functions(root_module)
659 import ns3_module_internet_stack__local
663 ns3_module_internet_stack__local.register_functions(root_module)
665 root_module.end_section('ns3_module_internet_stack')
666 root_module.begin_section('ns3_module_wifi')
667 ns3_module_wifi.register_functions(root_module)
670 import ns3_module_wifi__local
674 ns3_module_wifi__local.register_functions(root_module)
676 root_module.end_section('ns3_module_wifi')
677 root_module.begin_section('ns3_module_csma')
678 ns3_module_csma.register_functions(root_module)
681 import ns3_module_csma__local
685 ns3_module_csma__local.register_functions(root_module)
687 root_module.end_section('ns3_module_csma')
688 root_module.begin_section('ns3_module_emu')
689 ns3_module_emu.register_functions(root_module)
692 import ns3_module_emu__local
696 ns3_module_emu__local.register_functions(root_module)
698 root_module.end_section('ns3_module_emu')
699 root_module.begin_section('ns3_module_bridge')
700 ns3_module_bridge.register_functions(root_module)
703 import ns3_module_bridge__local
707 ns3_module_bridge__local.register_functions(root_module)
709 root_module.end_section('ns3_module_bridge')
710 root_module.begin_section('ns3_module_onoff')
711 ns3_module_onoff.register_functions(root_module)
714 import ns3_module_onoff__local
718 ns3_module_onoff__local.register_functions(root_module)
720 root_module.end_section('ns3_module_onoff')
721 root_module.begin_section('ns3_module_packet_sink')
722 ns3_module_packet_sink.register_functions(root_module)
725 import ns3_module_packet_sink__local
729 ns3_module_packet_sink__local.register_functions(root_module)
731 root_module.end_section('ns3_module_packet_sink')
732 root_module.begin_section('ns3_module_v4ping')
733 ns3_module_v4ping.register_functions(root_module)
736 import ns3_module_v4ping__local
740 ns3_module_v4ping__local.register_functions(root_module)
742 root_module.end_section('ns3_module_v4ping')
743 root_module.begin_section('ns3_module_global_routing')
744 ns3_module_global_routing.register_functions(root_module)
747 import ns3_module_global_routing__local
751 ns3_module_global_routing__local.register_functions(root_module)
753 root_module.end_section('ns3_module_global_routing')
754 root_module.begin_section('ns3_module_udp_echo')
755 ns3_module_udp_echo.register_functions(root_module)
758 import ns3_module_udp_echo__local
762 ns3_module_udp_echo__local.register_functions(root_module)
764 root_module.end_section('ns3_module_udp_echo')
765 root_module.begin_section('ns3_module_olsr')
766 ns3_module_olsr.register_functions(root_module)
769 import ns3_module_olsr__local
773 ns3_module_olsr__local.register_functions(root_module)
775 root_module.end_section('ns3_module_olsr')
776 root_module.begin_section('ns3_module_helper')
777 ns3_module_helper.register_functions(root_module)
780 import ns3_module_helper__local
784 ns3_module_helper__local.register_functions(root_module)
786 root_module.end_section('ns3_module_helper')
787 register_functions_ns3_Config(module.get_submodule('Config'), root_module)
788 register_functions_ns3_TimeStepPrecision(module.get_submodule('TimeStepPrecision'), root_module)
789 register_functions_ns3_internal(module.get_submodule('internal'), root_module)
790 register_functions_ns3_olsr(module.get_submodule('olsr'), root_module)
793 def register_functions_ns3_Config(module, root_module):
796 def register_functions_ns3_TimeStepPrecision(module, root_module):
799 def register_functions_ns3_internal(module, root_module):
802 def register_functions_ns3_olsr(module, root_module):
806 out = FileCodeSink(sys.stdout)
807 root_module = module_init()
808 register_types(root_module)
809 register_methods(root_module)
810 register_functions(root_module)
811 root_module.generate(out)
813 if __name__ == '__main__':