def reg_nfd(module):
            module.add_class(
                'Forwarder',
                memory_policy=StdSharedPtr('::ns3::ndn::nfd::Forwarder'),
                is_singleton=True)
            module.add_class('Fib')
            module.add_class('Pit')
            module.add_class('Cs')
            module.add_class('FaceTable')
            module.add_class('Face')

            def reg_fib(module):
                module.add_class(
                    'Entry'
                )  #, memory_policy=StdSharedPtr('ns3::ndn::nfd::fib::Entry'))
                module.add_class('NextHop')
                module.add_class('NextHopList')

            reg_fib(module.add_cpp_namespace('fib'))

            def reg_pit(module):
                module.add_class(
                    'Entry'
                )  #, memory_policy=StdSharedPtr('ns3::ndn::nfd::pit::Entry'))

            reg_pit(module.add_cpp_namespace('pit'))

            def reg_cs(module):
                module.add_class(
                    'Entry'
                )  #, memory_policy=StdSharedPtr('ns3::ndn::nfd::cs::Entry'))

            reg_cs(module.add_cpp_namespace('cs'))
Beispiel #2
0
    def reg_ndn(module):
        module.add_class('StackHelper')
        module.add_class('FibHelper')
        module.add_class('StrategyChoiceHelper')
        module.add_class('AppHelper')
        module.add_class('GlobalRoutingHelper')

        module.add_class('L3Protocol', parent=module.get_root()['ns3::Object'])

        module.add_class('Name')
        module.add_class('Interest')
        module.add_class('Data')
        module.add_class('Face', memory_policy=StdSharedPtr('ns3::ndn::Face'))
        module.add_class(
            'FaceContainer',
            memory_policy=Ns3PtrMemoryPolicy('::ns3::ndn::FaceContainer'))

        def reg_name(module):
            module.add_class('Component')

        reg_name(module.add_cpp_namespace('name'))

        def reg_nfd(module):
            module.add_class(
                'Forwarder',
                memory_policy=StdSharedPtr('::ns3::ndn::nfd::Forwarder'),
                is_singleton=True)
            module.add_class('Fib')
            module.add_class('Pit')
            module.add_class('Cs')

            def reg_fib(module):
                module.add_class(
                    'Entry'
                )  #, memory_policy=StdSharedPtr('ns3::ndn::nfd::fib::Entry'))
                module.add_class('NextHop')
                module.add_class('NextHopList')

            reg_fib(module.add_cpp_namespace('fib'))

            def reg_pit(module):
                module.add_class(
                    'Entry'
                )  #, memory_policy=StdSharedPtr('ns3::ndn::nfd::pit::Entry'))

            reg_pit(module.add_cpp_namespace('pit'))

            def reg_cs(module):
                module.add_class(
                    'Entry'
                )  #, memory_policy=StdSharedPtr('ns3::ndn::nfd::cs::Entry'))

            reg_cs(module.add_cpp_namespace('cs'))

        reg_nfd(module.add_cpp_namespace('nfd'))
    def reg_ndn(module):
        module.add_class('StackHelper')
        module.add_class('FibHelper')
        module.add_class('StrategyChoiceHelper')
        module.add_class('AppHelper')
        module.add_class('GlobalRoutingHelper')

        module.add_class('L3Protocol', parent=module.get_root()['ns3::Object'])

        module.add_class('Name')
        module.add_class('Interest')
        module.add_class('Data')
        module.add_class('Face', memory_policy=StdSharedPtr('ns3::ndn::Face'))
        module.add_class('FaceContainer', memory_policy=Ns3PtrMemoryPolicy('::ns3::ndn::FaceContainer'))

        def reg_name(module):
            module.add_class('Component')
        reg_name(module.add_cpp_namespace('name'))

        def reg_nfd(module):
            module.add_class('Forwarder', memory_policy=StdSharedPtr('::ns3::ndn::nfd::Forwarder'), is_singleton=True)
            module.add_class('Fib')
            module.add_class('Pit')
            module.add_class('Cs')

            def reg_fib(module):
                module.add_class('Entry')#, memory_policy=StdSharedPtr('ns3::ndn::nfd::fib::Entry'))
                module.add_class('NextHop')
                module.add_class('NextHopList')
            reg_fib(module.add_cpp_namespace('fib'))

            def reg_pit(module):
                module.add_class('Entry')#, memory_policy=StdSharedPtr('ns3::ndn::nfd::pit::Entry'))
            reg_pit(module.add_cpp_namespace('pit'))

            def reg_cs(module):
                module.add_class('Entry')#, memory_policy=StdSharedPtr('ns3::ndn::nfd::cs::Entry'))
            reg_cs(module.add_cpp_namespace('cs'))

        reg_nfd(module.add_cpp_namespace('nfd'))
        
        #ZhangYu 2017-9-16 ------------------------Tracer---------------------
        root_module=module.get_root()
        module.add_class('AppDelayTracer', parent=root_module['ns3::SimpleRefCount< ns3::ndn::AppDelayTracer, ns3::empty, ns3::DefaultDeleter<ns3::ndn::AppDelayTracer> >'])
        module.add_class('CsTracer', parent=root_module['ns3::SimpleRefCount< ns3::ndn::CsTracer, ns3::empty, ns3::DefaultDeleter<ns3::ndn::CsTracer> >'])
        module.add_class('L3Tracer', parent=root_module['ns3::SimpleRefCount< ns3::ndn::L3Tracer, ns3::empty, ns3::DefaultDeleter<ns3::ndn::L3Tracer> >'])
        module.add_class('L3RateTracer', parent=root_module['ns3::ndn::L3Tracer'])
Beispiel #4
0
def my_module_gen(out_file):

    mod = Module('sp')

    mod.add_include('"sp.h"')

    Foo = mod.add_class('Foo', memory_policy=StdSharedPtr('::Foo'))

    Foo.add_constructor([param('std::string', 'datum')])
    Foo.add_constructor([])
    Foo.add_method('get_datum', retval('const std::string'), [])
    Foo.add_method('set_datum', None, [param('const std::string', 'datum')])

    mod.add_function('function_that_takes_foo', None,
                     [param('std::shared_ptr<Foo>', 'foo')])

    mod.add_function('function_that_returns_foo',
                     retval('std::shared_ptr<Foo>'), [])

    ## ---- finally, generate the whole thing ----
    mod.generate(FileCodeSink(out_file))