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_contrib
20 import ns3_module_node
21 import ns3_module_point_to_point
22 import ns3_module_internet_stack
23 import ns3_module_wifi
24 import ns3_module_csma
25 import ns3_module_bridge
26 import ns3_module_packet_sink
27 import ns3_module_global_routing
28 import ns3_module_onoff
29 import ns3_module_olsr
30 import ns3_module_udp_echo
31 import ns3_module_helper
34 root_module = Module('ns3', cpp_namespace='::ns3')
37 def register_types(module):
38 root_module = module.get_root()
40 root_module.begin_section('ns3_module_core')
41 ns3_module_core.register_types(module)
44 import ns3_module_core__local
48 ns3_module_core__local.register_types(module)
50 root_module.end_section('ns3_module_core')
51 root_module.begin_section('ns3_module_simulator')
52 ns3_module_simulator.register_types(module)
55 import ns3_module_simulator__local
59 ns3_module_simulator__local.register_types(module)
61 root_module.end_section('ns3_module_simulator')
62 root_module.begin_section('ns3_module_mobility')
63 ns3_module_mobility.register_types(module)
66 import ns3_module_mobility__local
70 ns3_module_mobility__local.register_types(module)
72 root_module.end_section('ns3_module_mobility')
73 root_module.begin_section('ns3_module_common')
74 ns3_module_common.register_types(module)
77 import ns3_module_common__local
81 ns3_module_common__local.register_types(module)
83 root_module.end_section('ns3_module_common')
84 root_module.begin_section('ns3_module_contrib')
85 ns3_module_contrib.register_types(module)
88 import ns3_module_contrib__local
92 ns3_module_contrib__local.register_types(module)
94 root_module.end_section('ns3_module_contrib')
95 root_module.begin_section('ns3_module_node')
96 ns3_module_node.register_types(module)
99 import ns3_module_node__local
103 ns3_module_node__local.register_types(module)
105 root_module.end_section('ns3_module_node')
106 root_module.begin_section('ns3_module_point_to_point')
107 ns3_module_point_to_point.register_types(module)
110 import ns3_module_point_to_point__local
114 ns3_module_point_to_point__local.register_types(module)
116 root_module.end_section('ns3_module_point_to_point')
117 root_module.begin_section('ns3_module_internet_stack')
118 ns3_module_internet_stack.register_types(module)
121 import ns3_module_internet_stack__local
125 ns3_module_internet_stack__local.register_types(module)
127 root_module.end_section('ns3_module_internet_stack')
128 root_module.begin_section('ns3_module_wifi')
129 ns3_module_wifi.register_types(module)
132 import ns3_module_wifi__local
136 ns3_module_wifi__local.register_types(module)
138 root_module.end_section('ns3_module_wifi')
139 root_module.begin_section('ns3_module_csma')
140 ns3_module_csma.register_types(module)
143 import ns3_module_csma__local
147 ns3_module_csma__local.register_types(module)
149 root_module.end_section('ns3_module_csma')
150 root_module.begin_section('ns3_module_bridge')
151 ns3_module_bridge.register_types(module)
154 import ns3_module_bridge__local
158 ns3_module_bridge__local.register_types(module)
160 root_module.end_section('ns3_module_bridge')
161 root_module.begin_section('ns3_module_packet_sink')
162 ns3_module_packet_sink.register_types(module)
165 import ns3_module_packet_sink__local
169 ns3_module_packet_sink__local.register_types(module)
171 root_module.end_section('ns3_module_packet_sink')
172 root_module.begin_section('ns3_module_global_routing')
173 ns3_module_global_routing.register_types(module)
176 import ns3_module_global_routing__local
180 ns3_module_global_routing__local.register_types(module)
182 root_module.end_section('ns3_module_global_routing')
183 root_module.begin_section('ns3_module_onoff')
184 ns3_module_onoff.register_types(module)
187 import ns3_module_onoff__local
191 ns3_module_onoff__local.register_types(module)
193 root_module.end_section('ns3_module_onoff')
194 root_module.begin_section('ns3_module_olsr')
195 ns3_module_olsr.register_types(module)
198 import ns3_module_olsr__local
202 ns3_module_olsr__local.register_types(module)
204 root_module.end_section('ns3_module_olsr')
205 root_module.begin_section('ns3_module_udp_echo')
206 ns3_module_udp_echo.register_types(module)
209 import ns3_module_udp_echo__local
213 ns3_module_udp_echo__local.register_types(module)
215 root_module.end_section('ns3_module_udp_echo')
216 root_module.begin_section('ns3_module_helper')
217 ns3_module_helper.register_types(module)
220 import ns3_module_helper__local
224 ns3_module_helper__local.register_types(module)
226 root_module.end_section('ns3_module_helper')
227 module.add_container('std::vector< unsigned int, std::allocator< unsigned int > >', 'unsigned int')
228 module.add_container('std::list< unsigned int, std::allocator< unsigned int > >', 'unsigned int')
230 ## Register a nested module for the namespace internal
232 nested_module = module.add_cpp_namespace('internal')
233 register_types_ns3_internal(nested_module)
236 ## Register a nested module for the namespace TimeStepPrecision
238 nested_module = module.add_cpp_namespace('TimeStepPrecision')
239 register_types_ns3_TimeStepPrecision(nested_module)
242 ## Register a nested module for the namespace Config
244 nested_module = module.add_cpp_namespace('Config')
245 register_types_ns3_Config(nested_module)
248 ## Register a nested module for the namespace olsr
250 nested_module = module.add_cpp_namespace('olsr')
251 register_types_ns3_olsr(nested_module)
254 def register_types_ns3_internal(module):
255 root_module = module.get_root()
258 def register_types_ns3_TimeStepPrecision(module):
259 root_module = module.get_root()
262 def register_types_ns3_Config(module):
263 root_module = module.get_root()
266 def register_types_ns3_olsr(module):
267 root_module = module.get_root()
270 def register_methods(root_module):
271 root_module.begin_section('ns3_module_core')
272 ns3_module_core.register_methods(root_module)
275 import ns3_module_core__local
279 ns3_module_core__local.register_methods(root_module)
281 root_module.end_section('ns3_module_core')
282 root_module.begin_section('ns3_module_simulator')
283 ns3_module_simulator.register_methods(root_module)
286 import ns3_module_simulator__local
290 ns3_module_simulator__local.register_methods(root_module)
292 root_module.end_section('ns3_module_simulator')
293 root_module.begin_section('ns3_module_mobility')
294 ns3_module_mobility.register_methods(root_module)
297 import ns3_module_mobility__local
301 ns3_module_mobility__local.register_methods(root_module)
303 root_module.end_section('ns3_module_mobility')
304 root_module.begin_section('ns3_module_common')
305 ns3_module_common.register_methods(root_module)
308 import ns3_module_common__local
312 ns3_module_common__local.register_methods(root_module)
314 root_module.end_section('ns3_module_common')
315 root_module.begin_section('ns3_module_contrib')
316 ns3_module_contrib.register_methods(root_module)
319 import ns3_module_contrib__local
323 ns3_module_contrib__local.register_methods(root_module)
325 root_module.end_section('ns3_module_contrib')
326 root_module.begin_section('ns3_module_node')
327 ns3_module_node.register_methods(root_module)
330 import ns3_module_node__local
334 ns3_module_node__local.register_methods(root_module)
336 root_module.end_section('ns3_module_node')
337 root_module.begin_section('ns3_module_point_to_point')
338 ns3_module_point_to_point.register_methods(root_module)
341 import ns3_module_point_to_point__local
345 ns3_module_point_to_point__local.register_methods(root_module)
347 root_module.end_section('ns3_module_point_to_point')
348 root_module.begin_section('ns3_module_internet_stack')
349 ns3_module_internet_stack.register_methods(root_module)
352 import ns3_module_internet_stack__local
356 ns3_module_internet_stack__local.register_methods(root_module)
358 root_module.end_section('ns3_module_internet_stack')
359 root_module.begin_section('ns3_module_wifi')
360 ns3_module_wifi.register_methods(root_module)
363 import ns3_module_wifi__local
367 ns3_module_wifi__local.register_methods(root_module)
369 root_module.end_section('ns3_module_wifi')
370 root_module.begin_section('ns3_module_csma')
371 ns3_module_csma.register_methods(root_module)
374 import ns3_module_csma__local
378 ns3_module_csma__local.register_methods(root_module)
380 root_module.end_section('ns3_module_csma')
381 root_module.begin_section('ns3_module_bridge')
382 ns3_module_bridge.register_methods(root_module)
385 import ns3_module_bridge__local
389 ns3_module_bridge__local.register_methods(root_module)
391 root_module.end_section('ns3_module_bridge')
392 root_module.begin_section('ns3_module_packet_sink')
393 ns3_module_packet_sink.register_methods(root_module)
396 import ns3_module_packet_sink__local
400 ns3_module_packet_sink__local.register_methods(root_module)
402 root_module.end_section('ns3_module_packet_sink')
403 root_module.begin_section('ns3_module_global_routing')
404 ns3_module_global_routing.register_methods(root_module)
407 import ns3_module_global_routing__local
411 ns3_module_global_routing__local.register_methods(root_module)
413 root_module.end_section('ns3_module_global_routing')
414 root_module.begin_section('ns3_module_onoff')
415 ns3_module_onoff.register_methods(root_module)
418 import ns3_module_onoff__local
422 ns3_module_onoff__local.register_methods(root_module)
424 root_module.end_section('ns3_module_onoff')
425 root_module.begin_section('ns3_module_olsr')
426 ns3_module_olsr.register_methods(root_module)
429 import ns3_module_olsr__local
433 ns3_module_olsr__local.register_methods(root_module)
435 root_module.end_section('ns3_module_olsr')
436 root_module.begin_section('ns3_module_udp_echo')
437 ns3_module_udp_echo.register_methods(root_module)
440 import ns3_module_udp_echo__local
444 ns3_module_udp_echo__local.register_methods(root_module)
446 root_module.end_section('ns3_module_udp_echo')
447 root_module.begin_section('ns3_module_helper')
448 ns3_module_helper.register_methods(root_module)
451 import ns3_module_helper__local
455 ns3_module_helper__local.register_methods(root_module)
457 root_module.end_section('ns3_module_helper')
460 def register_functions(root_module):
462 root_module.begin_section('ns3_module_core')
463 ns3_module_core.register_functions(root_module)
466 import ns3_module_core__local
470 ns3_module_core__local.register_functions(root_module)
472 root_module.end_section('ns3_module_core')
473 root_module.begin_section('ns3_module_simulator')
474 ns3_module_simulator.register_functions(root_module)
477 import ns3_module_simulator__local
481 ns3_module_simulator__local.register_functions(root_module)
483 root_module.end_section('ns3_module_simulator')
484 root_module.begin_section('ns3_module_mobility')
485 ns3_module_mobility.register_functions(root_module)
488 import ns3_module_mobility__local
492 ns3_module_mobility__local.register_functions(root_module)
494 root_module.end_section('ns3_module_mobility')
495 root_module.begin_section('ns3_module_common')
496 ns3_module_common.register_functions(root_module)
499 import ns3_module_common__local
503 ns3_module_common__local.register_functions(root_module)
505 root_module.end_section('ns3_module_common')
506 root_module.begin_section('ns3_module_contrib')
507 ns3_module_contrib.register_functions(root_module)
510 import ns3_module_contrib__local
514 ns3_module_contrib__local.register_functions(root_module)
516 root_module.end_section('ns3_module_contrib')
517 root_module.begin_section('ns3_module_node')
518 ns3_module_node.register_functions(root_module)
521 import ns3_module_node__local
525 ns3_module_node__local.register_functions(root_module)
527 root_module.end_section('ns3_module_node')
528 root_module.begin_section('ns3_module_point_to_point')
529 ns3_module_point_to_point.register_functions(root_module)
532 import ns3_module_point_to_point__local
536 ns3_module_point_to_point__local.register_functions(root_module)
538 root_module.end_section('ns3_module_point_to_point')
539 root_module.begin_section('ns3_module_internet_stack')
540 ns3_module_internet_stack.register_functions(root_module)
543 import ns3_module_internet_stack__local
547 ns3_module_internet_stack__local.register_functions(root_module)
549 root_module.end_section('ns3_module_internet_stack')
550 root_module.begin_section('ns3_module_wifi')
551 ns3_module_wifi.register_functions(root_module)
554 import ns3_module_wifi__local
558 ns3_module_wifi__local.register_functions(root_module)
560 root_module.end_section('ns3_module_wifi')
561 root_module.begin_section('ns3_module_csma')
562 ns3_module_csma.register_functions(root_module)
565 import ns3_module_csma__local
569 ns3_module_csma__local.register_functions(root_module)
571 root_module.end_section('ns3_module_csma')
572 root_module.begin_section('ns3_module_bridge')
573 ns3_module_bridge.register_functions(root_module)
576 import ns3_module_bridge__local
580 ns3_module_bridge__local.register_functions(root_module)
582 root_module.end_section('ns3_module_bridge')
583 root_module.begin_section('ns3_module_packet_sink')
584 ns3_module_packet_sink.register_functions(root_module)
587 import ns3_module_packet_sink__local
591 ns3_module_packet_sink__local.register_functions(root_module)
593 root_module.end_section('ns3_module_packet_sink')
594 root_module.begin_section('ns3_module_global_routing')
595 ns3_module_global_routing.register_functions(root_module)
598 import ns3_module_global_routing__local
602 ns3_module_global_routing__local.register_functions(root_module)
604 root_module.end_section('ns3_module_global_routing')
605 root_module.begin_section('ns3_module_onoff')
606 ns3_module_onoff.register_functions(root_module)
609 import ns3_module_onoff__local
613 ns3_module_onoff__local.register_functions(root_module)
615 root_module.end_section('ns3_module_onoff')
616 root_module.begin_section('ns3_module_olsr')
617 ns3_module_olsr.register_functions(root_module)
620 import ns3_module_olsr__local
624 ns3_module_olsr__local.register_functions(root_module)
626 root_module.end_section('ns3_module_olsr')
627 root_module.begin_section('ns3_module_udp_echo')
628 ns3_module_udp_echo.register_functions(root_module)
631 import ns3_module_udp_echo__local
635 ns3_module_udp_echo__local.register_functions(root_module)
637 root_module.end_section('ns3_module_udp_echo')
638 root_module.begin_section('ns3_module_helper')
639 ns3_module_helper.register_functions(root_module)
642 import ns3_module_helper__local
646 ns3_module_helper__local.register_functions(root_module)
648 root_module.end_section('ns3_module_helper')
649 register_functions_ns3_internal(module.get_submodule('internal'), root_module)
650 register_functions_ns3_TimeStepPrecision(module.get_submodule('TimeStepPrecision'), root_module)
651 register_functions_ns3_Config(module.get_submodule('Config'), root_module)
652 register_functions_ns3_olsr(module.get_submodule('olsr'), root_module)
655 def register_functions_ns3_internal(module, root_module):
658 def register_functions_ns3_TimeStepPrecision(module, root_module):
661 def register_functions_ns3_Config(module, root_module):
664 def register_functions_ns3_olsr(module, root_module):
668 out = FileCodeSink(sys.stdout)
669 root_module = module_init()
670 register_types(root_module)
671 register_methods(root_module)
672 register_functions(root_module)
673 root_module.generate(out)
675 if __name__ == '__main__':