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_virtual_net_device
26 import ns3_module_onoff
27 import ns3_module_internet_stack
28 import ns3_module_point_to_point
29 import ns3_module_csma
30 import ns3_module_bridge
31 import ns3_module_wifi
33 import ns3_module_global_routing
34 import ns3_module_udp_echo
35 import ns3_module_olsr
36 import ns3_module_helper
39 root_module = Module('ns3', cpp_namespace='::ns3')
42 def register_types(module):
43 root_module = module.get_root()
45 root_module.begin_section('ns3_module_core')
46 ns3_module_core.register_types(module)
49 import ns3_module_core__local
53 ns3_module_core__local.register_types(module)
55 root_module.end_section('ns3_module_core')
56 root_module.begin_section('ns3_module_simulator')
57 ns3_module_simulator.register_types(module)
60 import ns3_module_simulator__local
64 ns3_module_simulator__local.register_types(module)
66 root_module.end_section('ns3_module_simulator')
67 root_module.begin_section('ns3_module_mobility')
68 ns3_module_mobility.register_types(module)
71 import ns3_module_mobility__local
75 ns3_module_mobility__local.register_types(module)
77 root_module.end_section('ns3_module_mobility')
78 root_module.begin_section('ns3_module_common')
79 ns3_module_common.register_types(module)
82 import ns3_module_common__local
86 ns3_module_common__local.register_types(module)
88 root_module.end_section('ns3_module_common')
89 root_module.begin_section('ns3_module_contrib')
90 ns3_module_contrib.register_types(module)
93 import ns3_module_contrib__local
97 ns3_module_contrib__local.register_types(module)
99 root_module.end_section('ns3_module_contrib')
100 root_module.begin_section('ns3_module_node')
101 ns3_module_node.register_types(module)
104 import ns3_module_node__local
108 ns3_module_node__local.register_types(module)
110 root_module.end_section('ns3_module_node')
111 root_module.begin_section('ns3_module_tap_bridge')
112 ns3_module_tap_bridge.register_types(module)
115 import ns3_module_tap_bridge__local
119 ns3_module_tap_bridge__local.register_types(module)
121 root_module.end_section('ns3_module_tap_bridge')
122 root_module.begin_section('ns3_module_v4ping')
123 ns3_module_v4ping.register_types(module)
126 import ns3_module_v4ping__local
130 ns3_module_v4ping__local.register_types(module)
132 root_module.end_section('ns3_module_v4ping')
133 root_module.begin_section('ns3_module_packet_sink')
134 ns3_module_packet_sink.register_types(module)
137 import ns3_module_packet_sink__local
141 ns3_module_packet_sink__local.register_types(module)
143 root_module.end_section('ns3_module_packet_sink')
144 root_module.begin_section('ns3_module_stats')
145 ns3_module_stats.register_types(module)
148 import ns3_module_stats__local
152 ns3_module_stats__local.register_types(module)
154 root_module.end_section('ns3_module_stats')
155 root_module.begin_section('ns3_module_virtual_net_device')
156 ns3_module_virtual_net_device.register_types(module)
159 import ns3_module_virtual_net_device__local
163 ns3_module_virtual_net_device__local.register_types(module)
165 root_module.end_section('ns3_module_virtual_net_device')
166 root_module.begin_section('ns3_module_onoff')
167 ns3_module_onoff.register_types(module)
170 import ns3_module_onoff__local
174 ns3_module_onoff__local.register_types(module)
176 root_module.end_section('ns3_module_onoff')
177 root_module.begin_section('ns3_module_internet_stack')
178 ns3_module_internet_stack.register_types(module)
181 import ns3_module_internet_stack__local
185 ns3_module_internet_stack__local.register_types(module)
187 root_module.end_section('ns3_module_internet_stack')
188 root_module.begin_section('ns3_module_point_to_point')
189 ns3_module_point_to_point.register_types(module)
192 import ns3_module_point_to_point__local
196 ns3_module_point_to_point__local.register_types(module)
198 root_module.end_section('ns3_module_point_to_point')
199 root_module.begin_section('ns3_module_csma')
200 ns3_module_csma.register_types(module)
203 import ns3_module_csma__local
207 ns3_module_csma__local.register_types(module)
209 root_module.end_section('ns3_module_csma')
210 root_module.begin_section('ns3_module_bridge')
211 ns3_module_bridge.register_types(module)
214 import ns3_module_bridge__local
218 ns3_module_bridge__local.register_types(module)
220 root_module.end_section('ns3_module_bridge')
221 root_module.begin_section('ns3_module_wifi')
222 ns3_module_wifi.register_types(module)
225 import ns3_module_wifi__local
229 ns3_module_wifi__local.register_types(module)
231 root_module.end_section('ns3_module_wifi')
232 root_module.begin_section('ns3_module_emu')
233 ns3_module_emu.register_types(module)
236 import ns3_module_emu__local
240 ns3_module_emu__local.register_types(module)
242 root_module.end_section('ns3_module_emu')
243 root_module.begin_section('ns3_module_global_routing')
244 ns3_module_global_routing.register_types(module)
247 import ns3_module_global_routing__local
251 ns3_module_global_routing__local.register_types(module)
253 root_module.end_section('ns3_module_global_routing')
254 root_module.begin_section('ns3_module_udp_echo')
255 ns3_module_udp_echo.register_types(module)
258 import ns3_module_udp_echo__local
262 ns3_module_udp_echo__local.register_types(module)
264 root_module.end_section('ns3_module_udp_echo')
265 root_module.begin_section('ns3_module_olsr')
266 ns3_module_olsr.register_types(module)
269 import ns3_module_olsr__local
273 ns3_module_olsr__local.register_types(module)
275 root_module.end_section('ns3_module_olsr')
276 root_module.begin_section('ns3_module_helper')
277 ns3_module_helper.register_types(module)
280 import ns3_module_helper__local
284 ns3_module_helper__local.register_types(module)
286 root_module.end_section('ns3_module_helper')
287 module.add_container('std::vector< unsigned int >', 'unsigned int', container_type='vector')
288 module.add_container('std::list< unsigned int >', 'unsigned int', container_type='list')
289 module.add_container('std::list< std::pair< ns3::Ptr< ns3::Packet >, ns3::AmsduSubframeHeader > >', 'std::pair< ns3::Ptr< ns3::Packet >, ns3::AmsduSubframeHeader >', container_type='list')
291 ## Register a nested module for the namespace Config
293 nested_module = module.add_cpp_namespace('Config')
294 register_types_ns3_Config(nested_module)
297 ## Register a nested module for the namespace TimeStepPrecision
299 nested_module = module.add_cpp_namespace('TimeStepPrecision')
300 register_types_ns3_TimeStepPrecision(nested_module)
303 ## Register a nested module for the namespace addressUtils
305 nested_module = module.add_cpp_namespace('addressUtils')
306 register_types_ns3_addressUtils(nested_module)
309 ## Register a nested module for the namespace internal
311 nested_module = module.add_cpp_namespace('internal')
312 register_types_ns3_internal(nested_module)
315 ## Register a nested module for the namespace olsr
317 nested_module = module.add_cpp_namespace('olsr')
318 register_types_ns3_olsr(nested_module)
321 def register_types_ns3_Config(module):
322 root_module = module.get_root()
324 module.add_container('std::vector< std::string >', 'std::string', container_type='vector')
326 def register_types_ns3_TimeStepPrecision(module):
327 root_module = module.get_root()
330 def register_types_ns3_addressUtils(module):
331 root_module = module.get_root()
334 def register_types_ns3_internal(module):
335 root_module = module.get_root()
338 def register_types_ns3_olsr(module):
339 root_module = module.get_root()
342 def register_methods(root_module):
343 root_module.begin_section('ns3_module_core')
344 ns3_module_core.register_methods(root_module)
347 import ns3_module_core__local
351 ns3_module_core__local.register_methods(root_module)
353 root_module.end_section('ns3_module_core')
354 root_module.begin_section('ns3_module_simulator')
355 ns3_module_simulator.register_methods(root_module)
358 import ns3_module_simulator__local
362 ns3_module_simulator__local.register_methods(root_module)
364 root_module.end_section('ns3_module_simulator')
365 root_module.begin_section('ns3_module_mobility')
366 ns3_module_mobility.register_methods(root_module)
369 import ns3_module_mobility__local
373 ns3_module_mobility__local.register_methods(root_module)
375 root_module.end_section('ns3_module_mobility')
376 root_module.begin_section('ns3_module_common')
377 ns3_module_common.register_methods(root_module)
380 import ns3_module_common__local
384 ns3_module_common__local.register_methods(root_module)
386 root_module.end_section('ns3_module_common')
387 root_module.begin_section('ns3_module_contrib')
388 ns3_module_contrib.register_methods(root_module)
391 import ns3_module_contrib__local
395 ns3_module_contrib__local.register_methods(root_module)
397 root_module.end_section('ns3_module_contrib')
398 root_module.begin_section('ns3_module_node')
399 ns3_module_node.register_methods(root_module)
402 import ns3_module_node__local
406 ns3_module_node__local.register_methods(root_module)
408 root_module.end_section('ns3_module_node')
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_v4ping')
421 ns3_module_v4ping.register_methods(root_module)
424 import ns3_module_v4ping__local
428 ns3_module_v4ping__local.register_methods(root_module)
430 root_module.end_section('ns3_module_v4ping')
431 root_module.begin_section('ns3_module_packet_sink')
432 ns3_module_packet_sink.register_methods(root_module)
435 import ns3_module_packet_sink__local
439 ns3_module_packet_sink__local.register_methods(root_module)
441 root_module.end_section('ns3_module_packet_sink')
442 root_module.begin_section('ns3_module_stats')
443 ns3_module_stats.register_methods(root_module)
446 import ns3_module_stats__local
450 ns3_module_stats__local.register_methods(root_module)
452 root_module.end_section('ns3_module_stats')
453 root_module.begin_section('ns3_module_virtual_net_device')
454 ns3_module_virtual_net_device.register_methods(root_module)
457 import ns3_module_virtual_net_device__local
461 ns3_module_virtual_net_device__local.register_methods(root_module)
463 root_module.end_section('ns3_module_virtual_net_device')
464 root_module.begin_section('ns3_module_onoff')
465 ns3_module_onoff.register_methods(root_module)
468 import ns3_module_onoff__local
472 ns3_module_onoff__local.register_methods(root_module)
474 root_module.end_section('ns3_module_onoff')
475 root_module.begin_section('ns3_module_internet_stack')
476 ns3_module_internet_stack.register_methods(root_module)
479 import ns3_module_internet_stack__local
483 ns3_module_internet_stack__local.register_methods(root_module)
485 root_module.end_section('ns3_module_internet_stack')
486 root_module.begin_section('ns3_module_point_to_point')
487 ns3_module_point_to_point.register_methods(root_module)
490 import ns3_module_point_to_point__local
494 ns3_module_point_to_point__local.register_methods(root_module)
496 root_module.end_section('ns3_module_point_to_point')
497 root_module.begin_section('ns3_module_csma')
498 ns3_module_csma.register_methods(root_module)
501 import ns3_module_csma__local
505 ns3_module_csma__local.register_methods(root_module)
507 root_module.end_section('ns3_module_csma')
508 root_module.begin_section('ns3_module_bridge')
509 ns3_module_bridge.register_methods(root_module)
512 import ns3_module_bridge__local
516 ns3_module_bridge__local.register_methods(root_module)
518 root_module.end_section('ns3_module_bridge')
519 root_module.begin_section('ns3_module_wifi')
520 ns3_module_wifi.register_methods(root_module)
523 import ns3_module_wifi__local
527 ns3_module_wifi__local.register_methods(root_module)
529 root_module.end_section('ns3_module_wifi')
530 root_module.begin_section('ns3_module_emu')
531 ns3_module_emu.register_methods(root_module)
534 import ns3_module_emu__local
538 ns3_module_emu__local.register_methods(root_module)
540 root_module.end_section('ns3_module_emu')
541 root_module.begin_section('ns3_module_global_routing')
542 ns3_module_global_routing.register_methods(root_module)
545 import ns3_module_global_routing__local
549 ns3_module_global_routing__local.register_methods(root_module)
551 root_module.end_section('ns3_module_global_routing')
552 root_module.begin_section('ns3_module_udp_echo')
553 ns3_module_udp_echo.register_methods(root_module)
556 import ns3_module_udp_echo__local
560 ns3_module_udp_echo__local.register_methods(root_module)
562 root_module.end_section('ns3_module_udp_echo')
563 root_module.begin_section('ns3_module_olsr')
564 ns3_module_olsr.register_methods(root_module)
567 import ns3_module_olsr__local
571 ns3_module_olsr__local.register_methods(root_module)
573 root_module.end_section('ns3_module_olsr')
574 root_module.begin_section('ns3_module_helper')
575 ns3_module_helper.register_methods(root_module)
578 import ns3_module_helper__local
582 ns3_module_helper__local.register_methods(root_module)
584 root_module.end_section('ns3_module_helper')
587 def register_functions(root_module):
589 root_module.begin_section('ns3_module_core')
590 ns3_module_core.register_functions(root_module)
593 import ns3_module_core__local
597 ns3_module_core__local.register_functions(root_module)
599 root_module.end_section('ns3_module_core')
600 root_module.begin_section('ns3_module_simulator')
601 ns3_module_simulator.register_functions(root_module)
604 import ns3_module_simulator__local
608 ns3_module_simulator__local.register_functions(root_module)
610 root_module.end_section('ns3_module_simulator')
611 root_module.begin_section('ns3_module_mobility')
612 ns3_module_mobility.register_functions(root_module)
615 import ns3_module_mobility__local
619 ns3_module_mobility__local.register_functions(root_module)
621 root_module.end_section('ns3_module_mobility')
622 root_module.begin_section('ns3_module_common')
623 ns3_module_common.register_functions(root_module)
626 import ns3_module_common__local
630 ns3_module_common__local.register_functions(root_module)
632 root_module.end_section('ns3_module_common')
633 root_module.begin_section('ns3_module_contrib')
634 ns3_module_contrib.register_functions(root_module)
637 import ns3_module_contrib__local
641 ns3_module_contrib__local.register_functions(root_module)
643 root_module.end_section('ns3_module_contrib')
644 root_module.begin_section('ns3_module_node')
645 ns3_module_node.register_functions(root_module)
648 import ns3_module_node__local
652 ns3_module_node__local.register_functions(root_module)
654 root_module.end_section('ns3_module_node')
655 root_module.begin_section('ns3_module_tap_bridge')
656 ns3_module_tap_bridge.register_functions(root_module)
659 import ns3_module_tap_bridge__local
663 ns3_module_tap_bridge__local.register_functions(root_module)
665 root_module.end_section('ns3_module_tap_bridge')
666 root_module.begin_section('ns3_module_v4ping')
667 ns3_module_v4ping.register_functions(root_module)
670 import ns3_module_v4ping__local
674 ns3_module_v4ping__local.register_functions(root_module)
676 root_module.end_section('ns3_module_v4ping')
677 root_module.begin_section('ns3_module_packet_sink')
678 ns3_module_packet_sink.register_functions(root_module)
681 import ns3_module_packet_sink__local
685 ns3_module_packet_sink__local.register_functions(root_module)
687 root_module.end_section('ns3_module_packet_sink')
688 root_module.begin_section('ns3_module_stats')
689 ns3_module_stats.register_functions(root_module)
692 import ns3_module_stats__local
696 ns3_module_stats__local.register_functions(root_module)
698 root_module.end_section('ns3_module_stats')
699 root_module.begin_section('ns3_module_virtual_net_device')
700 ns3_module_virtual_net_device.register_functions(root_module)
703 import ns3_module_virtual_net_device__local
707 ns3_module_virtual_net_device__local.register_functions(root_module)
709 root_module.end_section('ns3_module_virtual_net_device')
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_internet_stack')
722 ns3_module_internet_stack.register_functions(root_module)
725 import ns3_module_internet_stack__local
729 ns3_module_internet_stack__local.register_functions(root_module)
731 root_module.end_section('ns3_module_internet_stack')
732 root_module.begin_section('ns3_module_point_to_point')
733 ns3_module_point_to_point.register_functions(root_module)
736 import ns3_module_point_to_point__local
740 ns3_module_point_to_point__local.register_functions(root_module)
742 root_module.end_section('ns3_module_point_to_point')
743 root_module.begin_section('ns3_module_csma')
744 ns3_module_csma.register_functions(root_module)
747 import ns3_module_csma__local
751 ns3_module_csma__local.register_functions(root_module)
753 root_module.end_section('ns3_module_csma')
754 root_module.begin_section('ns3_module_bridge')
755 ns3_module_bridge.register_functions(root_module)
758 import ns3_module_bridge__local
762 ns3_module_bridge__local.register_functions(root_module)
764 root_module.end_section('ns3_module_bridge')
765 root_module.begin_section('ns3_module_wifi')
766 ns3_module_wifi.register_functions(root_module)
769 import ns3_module_wifi__local
773 ns3_module_wifi__local.register_functions(root_module)
775 root_module.end_section('ns3_module_wifi')
776 root_module.begin_section('ns3_module_emu')
777 ns3_module_emu.register_functions(root_module)
780 import ns3_module_emu__local
784 ns3_module_emu__local.register_functions(root_module)
786 root_module.end_section('ns3_module_emu')
787 root_module.begin_section('ns3_module_global_routing')
788 ns3_module_global_routing.register_functions(root_module)
791 import ns3_module_global_routing__local
795 ns3_module_global_routing__local.register_functions(root_module)
797 root_module.end_section('ns3_module_global_routing')
798 root_module.begin_section('ns3_module_udp_echo')
799 ns3_module_udp_echo.register_functions(root_module)
802 import ns3_module_udp_echo__local
806 ns3_module_udp_echo__local.register_functions(root_module)
808 root_module.end_section('ns3_module_udp_echo')
809 root_module.begin_section('ns3_module_olsr')
810 ns3_module_olsr.register_functions(root_module)
813 import ns3_module_olsr__local
817 ns3_module_olsr__local.register_functions(root_module)
819 root_module.end_section('ns3_module_olsr')
820 root_module.begin_section('ns3_module_helper')
821 ns3_module_helper.register_functions(root_module)
824 import ns3_module_helper__local
828 ns3_module_helper__local.register_functions(root_module)
830 root_module.end_section('ns3_module_helper')
831 register_functions_ns3_Config(module.get_submodule('Config'), root_module)
832 register_functions_ns3_TimeStepPrecision(module.get_submodule('TimeStepPrecision'), root_module)
833 register_functions_ns3_addressUtils(module.get_submodule('addressUtils'), root_module)
834 register_functions_ns3_internal(module.get_submodule('internal'), root_module)
835 register_functions_ns3_olsr(module.get_submodule('olsr'), root_module)
838 def register_functions_ns3_Config(module, root_module):
841 def register_functions_ns3_TimeStepPrecision(module, root_module):
844 def register_functions_ns3_addressUtils(module, root_module):
847 def register_functions_ns3_internal(module, root_module):
850 def register_functions_ns3_olsr(module, root_module):
854 out = FileCodeSink(sys.stdout)
855 root_module = module_init()
856 register_types(root_module)
857 register_methods(root_module)
858 register_functions(root_module)
859 root_module.generate(out)
861 if __name__ == '__main__':