1 from pybindgen import Module, FileCodeSink, param, retval, cppclass, typehandlers
3 def register_types(module):
4 root_module = module.get_root()
6 ## global-route-manager.h: ns3::GlobalRouteManager [class]
7 module.add_class('GlobalRouteManager')
8 ## global-router-interface.h: ns3::GlobalRoutingLSA [class]
9 module.add_class('GlobalRoutingLSA')
10 ## global-router-interface.h: ns3::GlobalRoutingLSA::LSType [enumeration]
11 module.add_enum('LSType', ['Unknown', 'RouterLSA', 'NetworkLSA', 'SummaryLSA', 'SummaryLSA_ASBR', 'ASExternalLSAs'], outer_class=root_module['ns3::GlobalRoutingLSA'])
12 ## global-router-interface.h: ns3::GlobalRoutingLSA::SPFStatus [enumeration]
13 module.add_enum('SPFStatus', ['LSA_SPF_NOT_EXPLORED', 'LSA_SPF_CANDIDATE', 'LSA_SPF_IN_SPFTREE'], outer_class=root_module['ns3::GlobalRoutingLSA'])
14 ## global-router-interface.h: ns3::GlobalRoutingLinkRecord [class]
15 module.add_class('GlobalRoutingLinkRecord')
16 ## global-router-interface.h: ns3::GlobalRoutingLinkRecord::LinkType [enumeration]
17 module.add_enum('LinkType', ['Unknown', 'PointToPoint', 'TransitNetwork', 'StubNetwork', 'VirtualLink'], outer_class=root_module['ns3::GlobalRoutingLinkRecord'])
18 ## global-router-interface.h: ns3::GlobalRouter [class]
19 module.add_class('GlobalRouter', is_singleton=True, parent=root_module['ns3::Object'])
20 ## ipv4-global-routing.h: ns3::Ipv4GlobalRouting [class]
21 module.add_class('Ipv4GlobalRouting', parent=root_module['ns3::Ipv4RoutingProtocol'])
23 ## Register a nested module for the namespace Config
25 nested_module = module.add_cpp_namespace('Config')
26 register_types_ns3_Config(nested_module)
29 ## Register a nested module for the namespace TimeStepPrecision
31 nested_module = module.add_cpp_namespace('TimeStepPrecision')
32 register_types_ns3_TimeStepPrecision(nested_module)
35 ## Register a nested module for the namespace addressUtils
37 nested_module = module.add_cpp_namespace('addressUtils')
38 register_types_ns3_addressUtils(nested_module)
41 ## Register a nested module for the namespace internal
43 nested_module = module.add_cpp_namespace('internal')
44 register_types_ns3_internal(nested_module)
47 ## Register a nested module for the namespace olsr
49 nested_module = module.add_cpp_namespace('olsr')
50 register_types_ns3_olsr(nested_module)
53 def register_types_ns3_Config(module):
54 root_module = module.get_root()
57 def register_types_ns3_TimeStepPrecision(module):
58 root_module = module.get_root()
61 def register_types_ns3_addressUtils(module):
62 root_module = module.get_root()
65 def register_types_ns3_internal(module):
66 root_module = module.get_root()
69 def register_types_ns3_olsr(module):
70 root_module = module.get_root()
73 def register_methods(root_module):
74 register_Ns3GlobalRouteManager_methods(root_module, root_module['ns3::GlobalRouteManager'])
75 register_Ns3GlobalRoutingLSA_methods(root_module, root_module['ns3::GlobalRoutingLSA'])
76 register_Ns3GlobalRoutingLinkRecord_methods(root_module, root_module['ns3::GlobalRoutingLinkRecord'])
77 register_Ns3GlobalRouter_methods(root_module, root_module['ns3::GlobalRouter'])
78 register_Ns3Ipv4GlobalRouting_methods(root_module, root_module['ns3::Ipv4GlobalRouting'])
81 def register_Ns3GlobalRouteManager_methods(root_module, cls):
82 ## global-route-manager.h: static void ns3::GlobalRouteManager::PopulateRoutingTables() [member function]
83 cls.add_method('PopulateRoutingTables',
87 ## global-route-manager.h: static void ns3::GlobalRouteManager::RecomputeRoutingTables() [member function]
88 cls.add_method('RecomputeRoutingTables',
92 ## global-route-manager.h: static uint32_t ns3::GlobalRouteManager::AllocateRouterId() [member function]
93 cls.add_method('AllocateRouterId',
99 def register_Ns3GlobalRoutingLSA_methods(root_module, cls):
100 cls.add_output_stream_operator()
101 ## global-router-interface.h: ns3::GlobalRoutingLSA::GlobalRoutingLSA() [constructor]
102 cls.add_constructor([])
103 ## global-router-interface.h: ns3::GlobalRoutingLSA::GlobalRoutingLSA(ns3::GlobalRoutingLSA::SPFStatus status, ns3::Ipv4Address linkStateId, ns3::Ipv4Address advertisingRtr) [constructor]
104 cls.add_constructor([param('ns3::GlobalRoutingLSA::SPFStatus', 'status'), param('ns3::Ipv4Address', 'linkStateId'), param('ns3::Ipv4Address', 'advertisingRtr')])
105 ## global-router-interface.h: ns3::GlobalRoutingLSA::GlobalRoutingLSA(ns3::GlobalRoutingLSA & lsa) [constructor]
106 cls.add_constructor([param('ns3::GlobalRoutingLSA &', 'lsa')])
107 ## global-router-interface.h: uint32_t ns3::GlobalRoutingLSA::AddAttachedRouter(ns3::Ipv4Address addr) [member function]
108 cls.add_method('AddAttachedRouter',
110 [param('ns3::Ipv4Address', 'addr')])
111 ## global-router-interface.h: uint32_t ns3::GlobalRoutingLSA::AddLinkRecord(ns3::GlobalRoutingLinkRecord * lr) [member function]
112 cls.add_method('AddLinkRecord',
114 [param('ns3::GlobalRoutingLinkRecord *', 'lr')])
115 ## global-router-interface.h: void ns3::GlobalRoutingLSA::ClearLinkRecords() [member function]
116 cls.add_method('ClearLinkRecords',
119 ## global-router-interface.h: void ns3::GlobalRoutingLSA::CopyLinkRecords(ns3::GlobalRoutingLSA const & lsa) [member function]
120 cls.add_method('CopyLinkRecords',
122 [param('ns3::GlobalRoutingLSA const &', 'lsa')])
123 ## global-router-interface.h: ns3::Ipv4Address ns3::GlobalRoutingLSA::GetAdvertisingRouter() const [member function]
124 cls.add_method('GetAdvertisingRouter',
128 ## global-router-interface.h: ns3::Ipv4Address ns3::GlobalRoutingLSA::GetAttachedRouter(uint32_t n) const [member function]
129 cls.add_method('GetAttachedRouter',
131 [param('uint32_t', 'n')],
133 ## global-router-interface.h: ns3::GlobalRoutingLSA::LSType ns3::GlobalRoutingLSA::GetLSType() const [member function]
134 cls.add_method('GetLSType',
135 'ns3::GlobalRoutingLSA::LSType',
138 ## global-router-interface.h: ns3::GlobalRoutingLinkRecord * ns3::GlobalRoutingLSA::GetLinkRecord(uint32_t n) const [member function]
139 cls.add_method('GetLinkRecord',
140 'ns3::GlobalRoutingLinkRecord *',
141 [param('uint32_t', 'n')],
143 ## global-router-interface.h: ns3::Ipv4Address ns3::GlobalRoutingLSA::GetLinkStateId() const [member function]
144 cls.add_method('GetLinkStateId',
148 ## global-router-interface.h: uint32_t ns3::GlobalRoutingLSA::GetNAttachedRouters() const [member function]
149 cls.add_method('GetNAttachedRouters',
153 ## global-router-interface.h: uint32_t ns3::GlobalRoutingLSA::GetNLinkRecords() const [member function]
154 cls.add_method('GetNLinkRecords',
158 ## global-router-interface.h: ns3::Ipv4Mask ns3::GlobalRoutingLSA::GetNetworkLSANetworkMask() const [member function]
159 cls.add_method('GetNetworkLSANetworkMask',
163 ## global-router-interface.h: ns3::GlobalRoutingLSA::SPFStatus ns3::GlobalRoutingLSA::GetStatus() const [member function]
164 cls.add_method('GetStatus',
165 'ns3::GlobalRoutingLSA::SPFStatus',
168 ## global-router-interface.h: bool ns3::GlobalRoutingLSA::IsEmpty() const [member function]
169 cls.add_method('IsEmpty',
173 ## global-router-interface.h: void ns3::GlobalRoutingLSA::Print(std::ostream & os) const [member function]
174 cls.add_method('Print',
176 [param('std::ostream &', 'os')],
178 ## global-router-interface.h: void ns3::GlobalRoutingLSA::SetAdvertisingRouter(ns3::Ipv4Address rtr) [member function]
179 cls.add_method('SetAdvertisingRouter',
181 [param('ns3::Ipv4Address', 'rtr')])
182 ## global-router-interface.h: void ns3::GlobalRoutingLSA::SetLSType(ns3::GlobalRoutingLSA::LSType typ) [member function]
183 cls.add_method('SetLSType',
185 [param('ns3::GlobalRoutingLSA::LSType', 'typ')])
186 ## global-router-interface.h: void ns3::GlobalRoutingLSA::SetLinkStateId(ns3::Ipv4Address addr) [member function]
187 cls.add_method('SetLinkStateId',
189 [param('ns3::Ipv4Address', 'addr')])
190 ## global-router-interface.h: void ns3::GlobalRoutingLSA::SetNetworkLSANetworkMask(ns3::Ipv4Mask mask) [member function]
191 cls.add_method('SetNetworkLSANetworkMask',
193 [param('ns3::Ipv4Mask', 'mask')])
194 ## global-router-interface.h: void ns3::GlobalRoutingLSA::SetStatus(ns3::GlobalRoutingLSA::SPFStatus status) [member function]
195 cls.add_method('SetStatus',
197 [param('ns3::GlobalRoutingLSA::SPFStatus', 'status')])
200 def register_Ns3GlobalRoutingLinkRecord_methods(root_module, cls):
201 ## global-router-interface.h: ns3::GlobalRoutingLinkRecord::GlobalRoutingLinkRecord(ns3::GlobalRoutingLinkRecord const & arg0) [copy constructor]
202 cls.add_constructor([param('ns3::GlobalRoutingLinkRecord const &', 'arg0')])
203 ## global-router-interface.h: ns3::GlobalRoutingLinkRecord::GlobalRoutingLinkRecord() [constructor]
204 cls.add_constructor([])
205 ## global-router-interface.h: ns3::GlobalRoutingLinkRecord::GlobalRoutingLinkRecord(ns3::GlobalRoutingLinkRecord::LinkType linkType, ns3::Ipv4Address linkId, ns3::Ipv4Address linkData, uint16_t metric) [constructor]
206 cls.add_constructor([param('ns3::GlobalRoutingLinkRecord::LinkType', 'linkType'), param('ns3::Ipv4Address', 'linkId'), param('ns3::Ipv4Address', 'linkData'), param('uint16_t', 'metric')])
207 ## global-router-interface.h: ns3::Ipv4Address ns3::GlobalRoutingLinkRecord::GetLinkId() const [member function]
208 cls.add_method('GetLinkId',
212 ## global-router-interface.h: void ns3::GlobalRoutingLinkRecord::SetLinkId(ns3::Ipv4Address addr) [member function]
213 cls.add_method('SetLinkId',
215 [param('ns3::Ipv4Address', 'addr')])
216 ## global-router-interface.h: ns3::Ipv4Address ns3::GlobalRoutingLinkRecord::GetLinkData() const [member function]
217 cls.add_method('GetLinkData',
221 ## global-router-interface.h: void ns3::GlobalRoutingLinkRecord::SetLinkData(ns3::Ipv4Address addr) [member function]
222 cls.add_method('SetLinkData',
224 [param('ns3::Ipv4Address', 'addr')])
225 ## global-router-interface.h: ns3::GlobalRoutingLinkRecord::LinkType ns3::GlobalRoutingLinkRecord::GetLinkType() const [member function]
226 cls.add_method('GetLinkType',
227 'ns3::GlobalRoutingLinkRecord::LinkType',
230 ## global-router-interface.h: void ns3::GlobalRoutingLinkRecord::SetLinkType(ns3::GlobalRoutingLinkRecord::LinkType linkType) [member function]
231 cls.add_method('SetLinkType',
233 [param('ns3::GlobalRoutingLinkRecord::LinkType', 'linkType')])
234 ## global-router-interface.h: uint16_t ns3::GlobalRoutingLinkRecord::GetMetric() const [member function]
235 cls.add_method('GetMetric',
239 ## global-router-interface.h: void ns3::GlobalRoutingLinkRecord::SetMetric(uint16_t metric) [member function]
240 cls.add_method('SetMetric',
242 [param('uint16_t', 'metric')])
245 def register_Ns3GlobalRouter_methods(root_module, cls):
246 ## global-router-interface.h: static ns3::TypeId ns3::GlobalRouter::GetTypeId() [member function]
247 cls.add_method('GetTypeId',
251 ## global-router-interface.h: ns3::GlobalRouter::GlobalRouter() [constructor]
252 cls.add_constructor([])
253 ## global-router-interface.h: void ns3::GlobalRouter::SetRoutingProtocol(ns3::Ptr<ns3::Ipv4GlobalRouting> routing) [member function]
254 cls.add_method('SetRoutingProtocol',
256 [param('ns3::Ptr< ns3::Ipv4GlobalRouting >', 'routing')])
257 ## global-router-interface.h: ns3::Ptr<ns3::Ipv4GlobalRouting> ns3::GlobalRouter::GetRoutingProtocol() [member function]
258 cls.add_method('GetRoutingProtocol',
259 'ns3::Ptr< ns3::Ipv4GlobalRouting >',
261 ## global-router-interface.h: ns3::Ipv4Address ns3::GlobalRouter::GetRouterId() const [member function]
262 cls.add_method('GetRouterId',
266 ## global-router-interface.h: uint32_t ns3::GlobalRouter::DiscoverLSAs() [member function]
267 cls.add_method('DiscoverLSAs',
270 ## global-router-interface.h: uint32_t ns3::GlobalRouter::GetNumLSAs() const [member function]
271 cls.add_method('GetNumLSAs',
275 ## global-router-interface.h: bool ns3::GlobalRouter::GetLSA(uint32_t n, ns3::GlobalRoutingLSA & lsa) const [member function]
276 cls.add_method('GetLSA',
278 [param('uint32_t', 'n'), param('ns3::GlobalRoutingLSA &', 'lsa')],
280 ## global-router-interface.h: void ns3::GlobalRouter::DoDispose() [member function]
281 cls.add_method('DoDispose',
284 visibility='private', is_virtual=True)
287 def register_Ns3Ipv4GlobalRouting_methods(root_module, cls):
288 ## ipv4-global-routing.h: ns3::Ipv4GlobalRouting::Ipv4GlobalRouting(ns3::Ipv4GlobalRouting const & arg0) [copy constructor]
289 cls.add_constructor([param('ns3::Ipv4GlobalRouting const &', 'arg0')])
290 ## ipv4-global-routing.h: static ns3::TypeId ns3::Ipv4GlobalRouting::GetTypeId() [member function]
291 cls.add_method('GetTypeId',
295 ## ipv4-global-routing.h: ns3::Ipv4GlobalRouting::Ipv4GlobalRouting() [constructor]
296 cls.add_constructor([])
297 ## ipv4-global-routing.h: ns3::Ptr<ns3::Ipv4Route> ns3::Ipv4GlobalRouting::RouteOutput(ns3::Ptr<ns3::Packet> p, ns3::Ipv4Header const & header, uint32_t oif, ns3::Socket::SocketErrno & sockerr) [member function]
298 cls.add_method('RouteOutput',
299 'ns3::Ptr< ns3::Ipv4Route >',
300 [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv4Header const &', 'header'), param('uint32_t', 'oif'), param('ns3::Socket::SocketErrno &', 'sockerr')],
302 ## ipv4-global-routing.h: bool ns3::Ipv4GlobalRouting::RouteInput(ns3::Ptr<ns3::Packet const> p, ns3::Ipv4Header const & header, ns3::Ptr<const ns3::NetDevice> idev, ns3::Callback<void,ns3::Ptr<ns3::Ipv4Route>,ns3::Ptr<const ns3::Packet>,const ns3::Ipv4Header&,ns3::empty,ns3::empty,ns3::empty,ns3::empty,ns3::empty,ns3::empty> ucb, ns3::Callback<void,ns3::Ptr<ns3::Ipv4MulticastRoute>,ns3::Ptr<const ns3::Packet>,const ns3::Ipv4Header&,ns3::empty,ns3::empty,ns3::empty,ns3::empty,ns3::empty,ns3::empty> mcb, ns3::Callback<void,ns3::Ptr<const ns3::Packet>,const ns3::Ipv4Header&,unsigned int,ns3::empty,ns3::empty,ns3::empty,ns3::empty,ns3::empty,ns3::empty> lcb, ns3::Callback<void,ns3::Ptr<const ns3::Packet>,const ns3::Ipv4Header&,ns3::Socket::SocketErrno,ns3::empty,ns3::empty,ns3::empty,ns3::empty,ns3::empty,ns3::empty> ecb) [member function]
303 cls.add_method('RouteInput',
305 [param('ns3::Ptr< ns3::Packet const >', 'p'), param('ns3::Ipv4Header const &', 'header'), param('ns3::Ptr< ns3::NetDevice const >', 'idev'), param('ns3::Callback< void, ns3::Ptr< ns3::Ipv4Route >, ns3::Ptr< ns3::Packet const >, ns3::Ipv4Header const &, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'ucb'), param('ns3::Callback< void, ns3::Ptr< ns3::Ipv4MulticastRoute >, ns3::Ptr< ns3::Packet const >, ns3::Ipv4Header const &, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'mcb'), param('ns3::Callback< void, ns3::Ptr< ns3::Packet const >, ns3::Ipv4Header const &, unsigned int, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'lcb'), param('ns3::Callback< void, ns3::Ptr< ns3::Packet const >, ns3::Ipv4Header const &, ns3::Socket::SocketErrno, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'ecb')],
307 ## ipv4-global-routing.h: void ns3::Ipv4GlobalRouting::NotifyInterfaceUp(uint32_t interface) [member function]
308 cls.add_method('NotifyInterfaceUp',
310 [param('uint32_t', 'interface')],
312 ## ipv4-global-routing.h: void ns3::Ipv4GlobalRouting::NotifyInterfaceDown(uint32_t interface) [member function]
313 cls.add_method('NotifyInterfaceDown',
315 [param('uint32_t', 'interface')],
317 ## ipv4-global-routing.h: void ns3::Ipv4GlobalRouting::NotifyAddAddress(uint32_t interface, ns3::Ipv4InterfaceAddress address) [member function]
318 cls.add_method('NotifyAddAddress',
320 [param('uint32_t', 'interface'), param('ns3::Ipv4InterfaceAddress', 'address')],
322 ## ipv4-global-routing.h: void ns3::Ipv4GlobalRouting::NotifyRemoveAddress(uint32_t interface, ns3::Ipv4InterfaceAddress address) [member function]
323 cls.add_method('NotifyRemoveAddress',
325 [param('uint32_t', 'interface'), param('ns3::Ipv4InterfaceAddress', 'address')],
327 ## ipv4-global-routing.h: void ns3::Ipv4GlobalRouting::SetIpv4(ns3::Ptr<ns3::Ipv4> ipv4) [member function]
328 cls.add_method('SetIpv4',
330 [param('ns3::Ptr< ns3::Ipv4 >', 'ipv4')],
332 ## ipv4-global-routing.h: void ns3::Ipv4GlobalRouting::AddHostRouteTo(ns3::Ipv4Address dest, ns3::Ipv4Address nextHop, uint32_t interface) [member function]
333 cls.add_method('AddHostRouteTo',
335 [param('ns3::Ipv4Address', 'dest'), param('ns3::Ipv4Address', 'nextHop'), param('uint32_t', 'interface')])
336 ## ipv4-global-routing.h: void ns3::Ipv4GlobalRouting::AddHostRouteTo(ns3::Ipv4Address dest, uint32_t interface) [member function]
337 cls.add_method('AddHostRouteTo',
339 [param('ns3::Ipv4Address', 'dest'), param('uint32_t', 'interface')])
340 ## ipv4-global-routing.h: void ns3::Ipv4GlobalRouting::AddNetworkRouteTo(ns3::Ipv4Address network, ns3::Ipv4Mask networkMask, ns3::Ipv4Address nextHop, uint32_t interface) [member function]
341 cls.add_method('AddNetworkRouteTo',
343 [param('ns3::Ipv4Address', 'network'), param('ns3::Ipv4Mask', 'networkMask'), param('ns3::Ipv4Address', 'nextHop'), param('uint32_t', 'interface')])
344 ## ipv4-global-routing.h: void ns3::Ipv4GlobalRouting::AddNetworkRouteTo(ns3::Ipv4Address network, ns3::Ipv4Mask networkMask, uint32_t interface) [member function]
345 cls.add_method('AddNetworkRouteTo',
347 [param('ns3::Ipv4Address', 'network'), param('ns3::Ipv4Mask', 'networkMask'), param('uint32_t', 'interface')])
348 ## ipv4-global-routing.h: uint32_t ns3::Ipv4GlobalRouting::GetNRoutes() [member function]
349 cls.add_method('GetNRoutes',
352 ## ipv4-global-routing.h: ns3::Ipv4RoutingTableEntry * ns3::Ipv4GlobalRouting::GetRoute(uint32_t i) [member function]
353 cls.add_method('GetRoute',
354 'ns3::Ipv4RoutingTableEntry *',
355 [param('uint32_t', 'i')])
356 ## ipv4-global-routing.h: void ns3::Ipv4GlobalRouting::RemoveRoute(uint32_t i) [member function]
357 cls.add_method('RemoveRoute',
359 [param('uint32_t', 'i')])
360 ## ipv4-global-routing.h: void ns3::Ipv4GlobalRouting::DoDispose() [member function]
361 cls.add_method('DoDispose',
364 visibility='protected', is_virtual=True)
367 def register_functions(root_module):
369 register_functions_ns3_Config(module.get_submodule('Config'), root_module)
370 register_functions_ns3_TimeStepPrecision(module.get_submodule('TimeStepPrecision'), root_module)
371 register_functions_ns3_addressUtils(module.get_submodule('addressUtils'), root_module)
372 register_functions_ns3_internal(module.get_submodule('internal'), root_module)
373 register_functions_ns3_olsr(module.get_submodule('olsr'), root_module)
376 def register_functions_ns3_Config(module, root_module):
379 def register_functions_ns3_TimeStepPrecision(module, root_module):
382 def register_functions_ns3_addressUtils(module, root_module):
385 def register_functions_ns3_internal(module, root_module):
388 def register_functions_ns3_olsr(module, root_module):