def register_Ns3Object_methods(root_module, cls):
    cls.add_constructor([])
    cls.add_method('AggregateObject', 'void', [param('ns3::Ptr< ns3::Object >', 'other')])
    cls.add_method('Dispose', 'void', [])
    cls.add_method('GetAggregateIterator', 'ns3::Object::AggregateIterator', [], is_const=True)
    cls.add_method('GetInstanceTypeId', 'ns3::TypeId', [], is_const=True, is_virtual=True)
    cls.add_method('GetTypeId', 'ns3::TypeId', [], is_static=True)
    cls.add_method('Initialize', 'void', [])
    cls.add_method('IsInitialized', 'bool', [], is_const=True)
    cls.add_constructor([param('ns3::Object const &', 'o')], visibility='protected')
    cls.add_method('DoDispose', 'void', [], visibility='protected', is_virtual=True)
    cls.add_method('DoInitialize', 'void', [], visibility='protected', is_virtual=True)
    cls.add_method('NotifyNewAggregate', 'void', [], visibility='protected', is_virtual=True)
    return
def register_Ns3Object_methods(root_module, cls):
    cls.add_constructor([])
    cls.add_method('AggregateObject', 'void', [param('ns3::Ptr< ns3::Object >', 'other')])
    cls.add_method('Dispose', 'void', [])
    cls.add_method('GetAggregateIterator', 'ns3::Object::AggregateIterator', [], is_const=True)
    cls.add_method('GetInstanceTypeId', 'ns3::TypeId', [], is_const=True, is_virtual=True)
    cls.add_method('GetTypeId', 'ns3::TypeId', [], is_static=True)
    cls.add_method('Initialize', 'void', [])
    cls.add_method('IsInitialized', 'bool', [], is_const=True)
    cls.add_constructor([param('ns3::Object const &', 'o')], visibility='protected')
    cls.add_method('DoDispose', 'void', [], visibility='protected', is_virtual=True)
    cls.add_method('DoInitialize', 'void', [], visibility='protected', is_virtual=True)
    cls.add_method('NotifyNewAggregate', 'void', [], visibility='protected', is_virtual=True)
    return