1 from pybindgen import Module, FileCodeSink, param, retval, cppclass, typehandlers
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_contrib
20 import ns3_module_node
21 import ns3_module_tap_bridge
22 import ns3_module_v4ping
23 import ns3_module_packet_sink
24 import ns3_module_stats
25 import ns3_module_onoff
26 import ns3_module_internet_stack
27 import ns3_module_point_to_point
28 import ns3_module_csma
29 import ns3_module_list_routing
30 import ns3_module_static_routing
31 import ns3_module_virtual_net_device
32 import ns3_module_wifi
34 import ns3_module_bridge
35 import ns3_module_global_routing
36 import ns3_module_udp_echo
37 import ns3_module_olsr
38 import ns3_module_helper
41 root_module = Module('ns3', cpp_namespace='::ns3')
44 def register_types(module):
45 root_module = module.get_root()
47 root_module.begin_section('ns3_module_core')
48 ns3_module_core.register_types(module)
51 import ns3_module_core__local
55 ns3_module_core__local.register_types(module)
57 root_module.end_section('ns3_module_core')
58 root_module.begin_section('ns3_module_simulator')
59 ns3_module_simulator.register_types(module)
62 import ns3_module_simulator__local
66 ns3_module_simulator__local.register_types(module)
68 root_module.end_section('ns3_module_simulator')
69 root_module.begin_section('ns3_module_mobility')
70 ns3_module_mobility.register_types(module)
73 import ns3_module_mobility__local
77 ns3_module_mobility__local.register_types(module)
79 root_module.end_section('ns3_module_mobility')
80 root_module.begin_section('ns3_module_common')
81 ns3_module_common.register_types(module)
84 import ns3_module_common__local
88 ns3_module_common__local.register_types(module)
90 root_module.end_section('ns3_module_common')
91 root_module.begin_section('ns3_module_contrib')
92 ns3_module_contrib.register_types(module)
95 import ns3_module_contrib__local
99 ns3_module_contrib__local.register_types(module)
101 root_module.end_section('ns3_module_contrib')
102 root_module.begin_section('ns3_module_node')
103 ns3_module_node.register_types(module)
106 import ns3_module_node__local
110 ns3_module_node__local.register_types(module)
112 root_module.end_section('ns3_module_node')
113 root_module.begin_section('ns3_module_tap_bridge')
114 ns3_module_tap_bridge.register_types(module)
117 import ns3_module_tap_bridge__local
121 ns3_module_tap_bridge__local.register_types(module)
123 root_module.end_section('ns3_module_tap_bridge')
124 root_module.begin_section('ns3_module_v4ping')
125 ns3_module_v4ping.register_types(module)
128 import ns3_module_v4ping__local
132 ns3_module_v4ping__local.register_types(module)
134 root_module.end_section('ns3_module_v4ping')
135 root_module.begin_section('ns3_module_packet_sink')
136 ns3_module_packet_sink.register_types(module)
139 import ns3_module_packet_sink__local
143 ns3_module_packet_sink__local.register_types(module)
145 root_module.end_section('ns3_module_packet_sink')
146 root_module.begin_section('ns3_module_stats')
147 ns3_module_stats.register_types(module)
150 import ns3_module_stats__local
154 ns3_module_stats__local.register_types(module)
156 root_module.end_section('ns3_module_stats')
157 root_module.begin_section('ns3_module_onoff')
158 ns3_module_onoff.register_types(module)
161 import ns3_module_onoff__local
165 ns3_module_onoff__local.register_types(module)
167 root_module.end_section('ns3_module_onoff')
168 root_module.begin_section('ns3_module_internet_stack')
169 ns3_module_internet_stack.register_types(module)
172 import ns3_module_internet_stack__local
176 ns3_module_internet_stack__local.register_types(module)
178 root_module.end_section('ns3_module_internet_stack')
179 root_module.begin_section('ns3_module_point_to_point')
180 ns3_module_point_to_point.register_types(module)
183 import ns3_module_point_to_point__local
187 ns3_module_point_to_point__local.register_types(module)
189 root_module.end_section('ns3_module_point_to_point')
190 root_module.begin_section('ns3_module_csma')
191 ns3_module_csma.register_types(module)
194 import ns3_module_csma__local
198 ns3_module_csma__local.register_types(module)
200 root_module.end_section('ns3_module_csma')
201 root_module.begin_section('ns3_module_list_routing')
202 ns3_module_list_routing.register_types(module)
205 import ns3_module_list_routing__local
209 ns3_module_list_routing__local.register_types(module)
211 root_module.end_section('ns3_module_list_routing')
212 root_module.begin_section('ns3_module_static_routing')
213 ns3_module_static_routing.register_types(module)
216 import ns3_module_static_routing__local
220 ns3_module_static_routing__local.register_types(module)
222 root_module.end_section('ns3_module_static_routing')
223 root_module.begin_section('ns3_module_virtual_net_device')
224 ns3_module_virtual_net_device.register_types(module)
227 import ns3_module_virtual_net_device__local
231 ns3_module_virtual_net_device__local.register_types(module)
233 root_module.end_section('ns3_module_virtual_net_device')
234 root_module.begin_section('ns3_module_wifi')
235 ns3_module_wifi.register_types(module)
238 import ns3_module_wifi__local
242 ns3_module_wifi__local.register_types(module)
244 root_module.end_section('ns3_module_wifi')
245 root_module.begin_section('ns3_module_emu')
246 ns3_module_emu.register_types(module)
249 import ns3_module_emu__local
253 ns3_module_emu__local.register_types(module)
255 root_module.end_section('ns3_module_emu')
256 root_module.begin_section('ns3_module_bridge')
257 ns3_module_bridge.register_types(module)
260 import ns3_module_bridge__local
264 ns3_module_bridge__local.register_types(module)
266 root_module.end_section('ns3_module_bridge')
267 root_module.begin_section('ns3_module_global_routing')
268 ns3_module_global_routing.register_types(module)
271 import ns3_module_global_routing__local
275 ns3_module_global_routing__local.register_types(module)
277 root_module.end_section('ns3_module_global_routing')
278 root_module.begin_section('ns3_module_udp_echo')
279 ns3_module_udp_echo.register_types(module)
282 import ns3_module_udp_echo__local
286 ns3_module_udp_echo__local.register_types(module)
288 root_module.end_section('ns3_module_udp_echo')
289 root_module.begin_section('ns3_module_olsr')
290 ns3_module_olsr.register_types(module)
293 import ns3_module_olsr__local
297 ns3_module_olsr__local.register_types(module)
299 root_module.end_section('ns3_module_olsr')
300 root_module.begin_section('ns3_module_helper')
301 ns3_module_helper.register_types(module)
304 import ns3_module_helper__local
308 ns3_module_helper__local.register_types(module)
310 root_module.end_section('ns3_module_helper')
311 module.add_container('std::vector< unsigned int >', 'unsigned int', container_type='vector')
312 module.add_container('std::list< unsigned int >', 'unsigned int', container_type='list')
313 module.add_container('std::list< std::pair< ns3::Ptr< ns3::Packet >, ns3::AmsduSubframeHeader > >', 'std::pair< ns3::Ptr< ns3::Packet >, ns3::AmsduSubframeHeader >', container_type='list')
315 ## Register a nested module for the namespace Config
317 nested_module = module.add_cpp_namespace('Config')
318 register_types_ns3_Config(nested_module)
321 ## Register a nested module for the namespace TimeStepPrecision
323 nested_module = module.add_cpp_namespace('TimeStepPrecision')
324 register_types_ns3_TimeStepPrecision(nested_module)
327 ## Register a nested module for the namespace addressUtils
329 nested_module = module.add_cpp_namespace('addressUtils')
330 register_types_ns3_addressUtils(nested_module)
333 ## Register a nested module for the namespace internal
335 nested_module = module.add_cpp_namespace('internal')
336 register_types_ns3_internal(nested_module)
339 ## Register a nested module for the namespace olsr
341 nested_module = module.add_cpp_namespace('olsr')
342 register_types_ns3_olsr(nested_module)
345 def register_types_ns3_Config(module):
346 root_module = module.get_root()
348 module.add_container('std::vector< std::string >', 'std::string', container_type='vector')
350 def register_types_ns3_TimeStepPrecision(module):
351 root_module = module.get_root()
354 def register_types_ns3_addressUtils(module):
355 root_module = module.get_root()
358 def register_types_ns3_internal(module):
359 root_module = module.get_root()
362 def register_types_ns3_olsr(module):
363 root_module = module.get_root()
366 def register_methods(root_module):
367 root_module.begin_section('ns3_module_core')
368 ns3_module_core.register_methods(root_module)
371 import ns3_module_core__local
375 ns3_module_core__local.register_methods(root_module)
377 root_module.end_section('ns3_module_core')
378 root_module.begin_section('ns3_module_simulator')
379 ns3_module_simulator.register_methods(root_module)
382 import ns3_module_simulator__local
386 ns3_module_simulator__local.register_methods(root_module)
388 root_module.end_section('ns3_module_simulator')
389 root_module.begin_section('ns3_module_mobility')
390 ns3_module_mobility.register_methods(root_module)
393 import ns3_module_mobility__local
397 ns3_module_mobility__local.register_methods(root_module)
399 root_module.end_section('ns3_module_mobility')
400 root_module.begin_section('ns3_module_common')
401 ns3_module_common.register_methods(root_module)
404 import ns3_module_common__local
408 ns3_module_common__local.register_methods(root_module)
410 root_module.end_section('ns3_module_common')
411 root_module.begin_section('ns3_module_contrib')
412 ns3_module_contrib.register_methods(root_module)
415 import ns3_module_contrib__local
419 ns3_module_contrib__local.register_methods(root_module)
421 root_module.end_section('ns3_module_contrib')
422 root_module.begin_section('ns3_module_node')
423 ns3_module_node.register_methods(root_module)
426 import ns3_module_node__local
430 ns3_module_node__local.register_methods(root_module)
432 root_module.end_section('ns3_module_node')
433 root_module.begin_section('ns3_module_tap_bridge')
434 ns3_module_tap_bridge.register_methods(root_module)
437 import ns3_module_tap_bridge__local
441 ns3_module_tap_bridge__local.register_methods(root_module)
443 root_module.end_section('ns3_module_tap_bridge')
444 root_module.begin_section('ns3_module_v4ping')
445 ns3_module_v4ping.register_methods(root_module)
448 import ns3_module_v4ping__local
452 ns3_module_v4ping__local.register_methods(root_module)
454 root_module.end_section('ns3_module_v4ping')
455 root_module.begin_section('ns3_module_packet_sink')
456 ns3_module_packet_sink.register_methods(root_module)
459 import ns3_module_packet_sink__local
463 ns3_module_packet_sink__local.register_methods(root_module)
465 root_module.end_section('ns3_module_packet_sink')
466 root_module.begin_section('ns3_module_stats')
467 ns3_module_stats.register_methods(root_module)
470 import ns3_module_stats__local
474 ns3_module_stats__local.register_methods(root_module)
476 root_module.end_section('ns3_module_stats')
477 root_module.begin_section('ns3_module_onoff')
478 ns3_module_onoff.register_methods(root_module)
481 import ns3_module_onoff__local
485 ns3_module_onoff__local.register_methods(root_module)
487 root_module.end_section('ns3_module_onoff')
488 root_module.begin_section('ns3_module_internet_stack')
489 ns3_module_internet_stack.register_methods(root_module)
492 import ns3_module_internet_stack__local
496 ns3_module_internet_stack__local.register_methods(root_module)
498 root_module.end_section('ns3_module_internet_stack')
499 root_module.begin_section('ns3_module_point_to_point')
500 ns3_module_point_to_point.register_methods(root_module)
503 import ns3_module_point_to_point__local
507 ns3_module_point_to_point__local.register_methods(root_module)
509 root_module.end_section('ns3_module_point_to_point')
510 root_module.begin_section('ns3_module_csma')
511 ns3_module_csma.register_methods(root_module)
514 import ns3_module_csma__local
518 ns3_module_csma__local.register_methods(root_module)
520 root_module.end_section('ns3_module_csma')
521 root_module.begin_section('ns3_module_list_routing')
522 ns3_module_list_routing.register_methods(root_module)
525 import ns3_module_list_routing__local
529 ns3_module_list_routing__local.register_methods(root_module)
531 root_module.end_section('ns3_module_list_routing')
532 root_module.begin_section('ns3_module_static_routing')
533 ns3_module_static_routing.register_methods(root_module)
536 import ns3_module_static_routing__local
540 ns3_module_static_routing__local.register_methods(root_module)
542 root_module.end_section('ns3_module_static_routing')
543 root_module.begin_section('ns3_module_virtual_net_device')
544 ns3_module_virtual_net_device.register_methods(root_module)
547 import ns3_module_virtual_net_device__local
551 ns3_module_virtual_net_device__local.register_methods(root_module)
553 root_module.end_section('ns3_module_virtual_net_device')
554 root_module.begin_section('ns3_module_wifi')
555 ns3_module_wifi.register_methods(root_module)
558 import ns3_module_wifi__local
562 ns3_module_wifi__local.register_methods(root_module)
564 root_module.end_section('ns3_module_wifi')
565 root_module.begin_section('ns3_module_emu')
566 ns3_module_emu.register_methods(root_module)
569 import ns3_module_emu__local
573 ns3_module_emu__local.register_methods(root_module)
575 root_module.end_section('ns3_module_emu')
576 root_module.begin_section('ns3_module_bridge')
577 ns3_module_bridge.register_methods(root_module)
580 import ns3_module_bridge__local
584 ns3_module_bridge__local.register_methods(root_module)
586 root_module.end_section('ns3_module_bridge')
587 root_module.begin_section('ns3_module_global_routing')
588 ns3_module_global_routing.register_methods(root_module)
591 import ns3_module_global_routing__local
595 ns3_module_global_routing__local.register_methods(root_module)
597 root_module.end_section('ns3_module_global_routing')
598 root_module.begin_section('ns3_module_udp_echo')
599 ns3_module_udp_echo.register_methods(root_module)
602 import ns3_module_udp_echo__local
606 ns3_module_udp_echo__local.register_methods(root_module)
608 root_module.end_section('ns3_module_udp_echo')
609 root_module.begin_section('ns3_module_olsr')
610 ns3_module_olsr.register_methods(root_module)
613 import ns3_module_olsr__local
617 ns3_module_olsr__local.register_methods(root_module)
619 root_module.end_section('ns3_module_olsr')
620 root_module.begin_section('ns3_module_helper')
621 ns3_module_helper.register_methods(root_module)
624 import ns3_module_helper__local
628 ns3_module_helper__local.register_methods(root_module)
630 root_module.end_section('ns3_module_helper')
633 def register_functions(root_module):
635 root_module.begin_section('ns3_module_core')
636 ns3_module_core.register_functions(root_module)
639 import ns3_module_core__local
643 ns3_module_core__local.register_functions(root_module)
645 root_module.end_section('ns3_module_core')
646 root_module.begin_section('ns3_module_simulator')
647 ns3_module_simulator.register_functions(root_module)
650 import ns3_module_simulator__local
654 ns3_module_simulator__local.register_functions(root_module)
656 root_module.end_section('ns3_module_simulator')
657 root_module.begin_section('ns3_module_mobility')
658 ns3_module_mobility.register_functions(root_module)
661 import ns3_module_mobility__local
665 ns3_module_mobility__local.register_functions(root_module)
667 root_module.end_section('ns3_module_mobility')
668 root_module.begin_section('ns3_module_common')
669 ns3_module_common.register_functions(root_module)
672 import ns3_module_common__local
676 ns3_module_common__local.register_functions(root_module)
678 root_module.end_section('ns3_module_common')
679 root_module.begin_section('ns3_module_contrib')
680 ns3_module_contrib.register_functions(root_module)
683 import ns3_module_contrib__local
687 ns3_module_contrib__local.register_functions(root_module)
689 root_module.end_section('ns3_module_contrib')
690 root_module.begin_section('ns3_module_node')
691 ns3_module_node.register_functions(root_module)
694 import ns3_module_node__local
698 ns3_module_node__local.register_functions(root_module)
700 root_module.end_section('ns3_module_node')
701 root_module.begin_section('ns3_module_tap_bridge')
702 ns3_module_tap_bridge.register_functions(root_module)
705 import ns3_module_tap_bridge__local
709 ns3_module_tap_bridge__local.register_functions(root_module)
711 root_module.end_section('ns3_module_tap_bridge')
712 root_module.begin_section('ns3_module_v4ping')
713 ns3_module_v4ping.register_functions(root_module)
716 import ns3_module_v4ping__local
720 ns3_module_v4ping__local.register_functions(root_module)
722 root_module.end_section('ns3_module_v4ping')
723 root_module.begin_section('ns3_module_packet_sink')
724 ns3_module_packet_sink.register_functions(root_module)
727 import ns3_module_packet_sink__local
731 ns3_module_packet_sink__local.register_functions(root_module)
733 root_module.end_section('ns3_module_packet_sink')
734 root_module.begin_section('ns3_module_stats')
735 ns3_module_stats.register_functions(root_module)
738 import ns3_module_stats__local
742 ns3_module_stats__local.register_functions(root_module)
744 root_module.end_section('ns3_module_stats')
745 root_module.begin_section('ns3_module_onoff')
746 ns3_module_onoff.register_functions(root_module)
749 import ns3_module_onoff__local
753 ns3_module_onoff__local.register_functions(root_module)
755 root_module.end_section('ns3_module_onoff')
756 root_module.begin_section('ns3_module_internet_stack')
757 ns3_module_internet_stack.register_functions(root_module)
760 import ns3_module_internet_stack__local
764 ns3_module_internet_stack__local.register_functions(root_module)
766 root_module.end_section('ns3_module_internet_stack')
767 root_module.begin_section('ns3_module_point_to_point')
768 ns3_module_point_to_point.register_functions(root_module)
771 import ns3_module_point_to_point__local
775 ns3_module_point_to_point__local.register_functions(root_module)
777 root_module.end_section('ns3_module_point_to_point')
778 root_module.begin_section('ns3_module_csma')
779 ns3_module_csma.register_functions(root_module)
782 import ns3_module_csma__local
786 ns3_module_csma__local.register_functions(root_module)
788 root_module.end_section('ns3_module_csma')
789 root_module.begin_section('ns3_module_list_routing')
790 ns3_module_list_routing.register_functions(root_module)
793 import ns3_module_list_routing__local
797 ns3_module_list_routing__local.register_functions(root_module)
799 root_module.end_section('ns3_module_list_routing')
800 root_module.begin_section('ns3_module_static_routing')
801 ns3_module_static_routing.register_functions(root_module)
804 import ns3_module_static_routing__local
808 ns3_module_static_routing__local.register_functions(root_module)
810 root_module.end_section('ns3_module_static_routing')
811 root_module.begin_section('ns3_module_virtual_net_device')
812 ns3_module_virtual_net_device.register_functions(root_module)
815 import ns3_module_virtual_net_device__local
819 ns3_module_virtual_net_device__local.register_functions(root_module)
821 root_module.end_section('ns3_module_virtual_net_device')
822 root_module.begin_section('ns3_module_wifi')
823 ns3_module_wifi.register_functions(root_module)
826 import ns3_module_wifi__local
830 ns3_module_wifi__local.register_functions(root_module)
832 root_module.end_section('ns3_module_wifi')
833 root_module.begin_section('ns3_module_emu')
834 ns3_module_emu.register_functions(root_module)
837 import ns3_module_emu__local
841 ns3_module_emu__local.register_functions(root_module)
843 root_module.end_section('ns3_module_emu')
844 root_module.begin_section('ns3_module_bridge')
845 ns3_module_bridge.register_functions(root_module)
848 import ns3_module_bridge__local
852 ns3_module_bridge__local.register_functions(root_module)
854 root_module.end_section('ns3_module_bridge')
855 root_module.begin_section('ns3_module_global_routing')
856 ns3_module_global_routing.register_functions(root_module)
859 import ns3_module_global_routing__local
863 ns3_module_global_routing__local.register_functions(root_module)
865 root_module.end_section('ns3_module_global_routing')
866 root_module.begin_section('ns3_module_udp_echo')
867 ns3_module_udp_echo.register_functions(root_module)
870 import ns3_module_udp_echo__local
874 ns3_module_udp_echo__local.register_functions(root_module)
876 root_module.end_section('ns3_module_udp_echo')
877 root_module.begin_section('ns3_module_olsr')
878 ns3_module_olsr.register_functions(root_module)
881 import ns3_module_olsr__local
885 ns3_module_olsr__local.register_functions(root_module)
887 root_module.end_section('ns3_module_olsr')
888 root_module.begin_section('ns3_module_helper')
889 ns3_module_helper.register_functions(root_module)
892 import ns3_module_helper__local
896 ns3_module_helper__local.register_functions(root_module)
898 root_module.end_section('ns3_module_helper')
899 register_functions_ns3_Config(module.get_submodule('Config'), root_module)
900 register_functions_ns3_TimeStepPrecision(module.get_submodule('TimeStepPrecision'), root_module)
901 register_functions_ns3_addressUtils(module.get_submodule('addressUtils'), root_module)
902 register_functions_ns3_internal(module.get_submodule('internal'), root_module)
903 register_functions_ns3_olsr(module.get_submodule('olsr'), root_module)
906 def register_functions_ns3_Config(module, root_module):
909 def register_functions_ns3_TimeStepPrecision(module, root_module):
912 def register_functions_ns3_addressUtils(module, root_module):
915 def register_functions_ns3_internal(module, root_module):
918 def register_functions_ns3_olsr(module, root_module):
922 out = FileCodeSink(sys.stdout)
923 root_module = module_init()
924 register_types(root_module)
925 register_methods(root_module)
926 register_functions(root_module)
927 root_module.generate(out)
929 if __name__ == '__main__':