From de7e69c19965239329da9ec8b06f5263a4d9f331 Mon Sep 17 00:00:00 2001 From: Per Date: Mon, 27 Aug 2012 00:13:18 -0700 Subject: [PATCH] bug 1473 - GetQueue/SetQueue missing from Csma python bindings --- RELEASE_NOTES | 1 + src/csma/bindings/modulegen__gcc_ILP32.py | 280 +++++++++++++++++- src/csma/bindings/modulegen__gcc_LP64.py | 280 +++++++++++++++++- src/csma/bindings/modulegen_customizations.py | 5 + src/csma/bindings/scan-header.h | 6 + 5 files changed, 568 insertions(+), 4 deletions(-) create mode 100644 src/csma/bindings/modulegen_customizations.py create mode 100644 src/csma/bindings/scan-header.h diff --git a/RELEASE_NOTES b/RELEASE_NOTES index 77ecf4576..8063442ff 100644 --- a/RELEASE_NOTES +++ b/RELEASE_NOTES @@ -72,6 +72,7 @@ Bugs fixed - bug 1464 - ConfigStore Save + Load => Could not set default value for ns3::UdpSocketImpl::IcmpCallback - bug 1470 - define default parameter for constructor in .h file + - bug 1473 - GetQueue/SetQueue missing from Csma python bindings - bug 1475 - "test.py --list" should sort the output - bug 1476 - TestCase::GetName () should not be private - bug 1477 - Click doesn't work with raw sockets diff --git a/src/csma/bindings/modulegen__gcc_ILP32.py b/src/csma/bindings/modulegen__gcc_ILP32.py index 4b357dfe6..2a817883d 100644 --- a/src/csma/bindings/modulegen__gcc_ILP32.py +++ b/src/csma/bindings/modulegen__gcc_ILP32.py @@ -140,6 +140,10 @@ def register_types(module): module.add_class('AggregateIterator', import_from_module='ns.core', outer_class=root_module['ns3::Object']) ## pcap-file-wrapper.h (module 'network'): ns3::PcapFileWrapper [class] module.add_class('PcapFileWrapper', import_from_module='ns.network', parent=root_module['ns3::Object']) + ## queue.h (module 'network'): ns3::Queue [class] + module.add_class('Queue', import_from_module='ns.network', parent=root_module['ns3::Object']) + ## queue.h (module 'network'): ns3::Queue::QueueMode [enumeration] + module.add_enum('QueueMode', ['QUEUE_MODE_PACKETS', 'QUEUE_MODE_BYTES'], outer_class=root_module['ns3::Queue'], import_from_module='ns.network') ## random-variable-stream.h (module 'core'): ns3::RandomVariableStream [class] module.add_class('RandomVariableStream', import_from_module='ns.core', parent=root_module['ns3::Object']) ## random-variable-stream.h (module 'core'): ns3::SequentialRandomVariable [class] @@ -212,6 +216,8 @@ def register_types(module): module.add_class('EmptyAttributeValue', import_from_module='ns.core', parent=root_module['ns3::AttributeValue']) ## random-variable-stream.h (module 'core'): ns3::ErlangRandomVariable [class] module.add_class('ErlangRandomVariable', import_from_module='ns.core', parent=root_module['ns3::RandomVariableStream']) + ## error-model.h (module 'network'): ns3::ErrorModel [class] + module.add_class('ErrorModel', import_from_module='ns.network', parent=root_module['ns3::Object']) ## event-impl.h (module 'core'): ns3::EventImpl [class] module.add_class('EventImpl', import_from_module='ns.core', parent=root_module['ns3::SimpleRefCount< ns3::EventImpl, ns3::empty, ns3::DefaultDeleter >']) ## random-variable-stream.h (module 'core'): ns3::ExponentialRandomVariable [class] @@ -234,6 +240,8 @@ def register_types(module): module.add_class('Ipv6PrefixChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker']) ## ipv6-address.h (module 'network'): ns3::Ipv6PrefixValue [class] module.add_class('Ipv6PrefixValue', import_from_module='ns.network', parent=root_module['ns3::AttributeValue']) + ## error-model.h (module 'network'): ns3::ListErrorModel [class] + module.add_class('ListErrorModel', import_from_module='ns.network', parent=root_module['ns3::ErrorModel']) ## random-variable-stream.h (module 'core'): ns3::LogNormalRandomVariable [class] module.add_class('LogNormalRandomVariable', import_from_module='ns.core', parent=root_module['ns3::RandomVariableStream']) ## mac48-address.h (module 'network'): ns3::Mac48AddressChecker [class] @@ -260,6 +268,12 @@ def register_types(module): module.add_class('Packet', import_from_module='ns.network', parent=root_module['ns3::SimpleRefCount< ns3::Packet, ns3::empty, ns3::DefaultDeleter >']) ## random-variable-stream.h (module 'core'): ns3::ParetoRandomVariable [class] module.add_class('ParetoRandomVariable', import_from_module='ns.core', parent=root_module['ns3::RandomVariableStream']) + ## error-model.h (module 'network'): ns3::RateErrorModel [class] + module.add_class('RateErrorModel', import_from_module='ns.network', parent=root_module['ns3::ErrorModel']) + ## error-model.h (module 'network'): ns3::RateErrorModel::ErrorUnit [enumeration] + module.add_enum('ErrorUnit', ['ERROR_UNIT_BIT', 'ERROR_UNIT_BYTE', 'ERROR_UNIT_PACKET'], outer_class=root_module['ns3::RateErrorModel'], import_from_module='ns.network') + ## error-model.h (module 'network'): ns3::ReceiveListErrorModel [class] + module.add_class('ReceiveListErrorModel', import_from_module='ns.network', parent=root_module['ns3::ErrorModel']) ## nstime.h (module 'core'): ns3::TimeChecker [class] module.add_class('TimeChecker', import_from_module='ns.core', parent=root_module['ns3::AttributeChecker']) ## nstime.h (module 'core'): ns3::TimeValue [class] @@ -276,6 +290,7 @@ def register_types(module): module.add_class('CsmaNetDevice', parent=root_module['ns3::NetDevice']) ## csma-net-device.h (module 'csma'): ns3::CsmaNetDevice::EncapsulationMode [enumeration] module.add_enum('EncapsulationMode', ['ILLEGAL', 'DIX', 'LLC'], outer_class=root_module['ns3::CsmaNetDevice']) + module.add_container('std::list< unsigned int >', 'unsigned int', container_type='list') ## Register a nested module for the namespace FatalImpl @@ -340,6 +355,7 @@ def register_methods(root_module): register_Ns3Object_methods(root_module, root_module['ns3::Object']) register_Ns3ObjectAggregateIterator_methods(root_module, root_module['ns3::Object::AggregateIterator']) register_Ns3PcapFileWrapper_methods(root_module, root_module['ns3::PcapFileWrapper']) + register_Ns3Queue_methods(root_module, root_module['ns3::Queue']) register_Ns3RandomVariableStream_methods(root_module, root_module['ns3::RandomVariableStream']) register_Ns3SequentialRandomVariable_methods(root_module, root_module['ns3::SequentialRandomVariable']) register_Ns3SimpleRefCount__Ns3AttributeAccessor_Ns3Empty_Ns3DefaultDeleter__lt__ns3AttributeAccessor__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::AttributeAccessor, ns3::empty, ns3::DefaultDeleter >']) @@ -374,6 +390,7 @@ def register_methods(root_module): register_Ns3EmpiricalRandomVariable_methods(root_module, root_module['ns3::EmpiricalRandomVariable']) register_Ns3EmptyAttributeValue_methods(root_module, root_module['ns3::EmptyAttributeValue']) register_Ns3ErlangRandomVariable_methods(root_module, root_module['ns3::ErlangRandomVariable']) + register_Ns3ErrorModel_methods(root_module, root_module['ns3::ErrorModel']) register_Ns3EventImpl_methods(root_module, root_module['ns3::EventImpl']) register_Ns3ExponentialRandomVariable_methods(root_module, root_module['ns3::ExponentialRandomVariable']) register_Ns3GammaRandomVariable_methods(root_module, root_module['ns3::GammaRandomVariable']) @@ -385,6 +402,7 @@ def register_methods(root_module): register_Ns3Ipv6AddressValue_methods(root_module, root_module['ns3::Ipv6AddressValue']) register_Ns3Ipv6PrefixChecker_methods(root_module, root_module['ns3::Ipv6PrefixChecker']) register_Ns3Ipv6PrefixValue_methods(root_module, root_module['ns3::Ipv6PrefixValue']) + register_Ns3ListErrorModel_methods(root_module, root_module['ns3::ListErrorModel']) register_Ns3LogNormalRandomVariable_methods(root_module, root_module['ns3::LogNormalRandomVariable']) register_Ns3Mac48AddressChecker_methods(root_module, root_module['ns3::Mac48AddressChecker']) register_Ns3Mac48AddressValue_methods(root_module, root_module['ns3::Mac48AddressValue']) @@ -397,6 +415,8 @@ def register_methods(root_module): register_Ns3OutputStreamWrapper_methods(root_module, root_module['ns3::OutputStreamWrapper']) register_Ns3Packet_methods(root_module, root_module['ns3::Packet']) register_Ns3ParetoRandomVariable_methods(root_module, root_module['ns3::ParetoRandomVariable']) + register_Ns3RateErrorModel_methods(root_module, root_module['ns3::RateErrorModel']) + register_Ns3ReceiveListErrorModel_methods(root_module, root_module['ns3::ReceiveListErrorModel']) register_Ns3TimeChecker_methods(root_module, root_module['ns3::TimeChecker']) register_Ns3TimeValue_methods(root_module, root_module['ns3::TimeValue']) register_Ns3TypeIdChecker_methods(root_module, root_module['ns3::TypeIdChecker']) @@ -2904,6 +2924,94 @@ def register_Ns3PcapFileWrapper_methods(root_module, cls): []) return +def register_Ns3Queue_methods(root_module, cls): + ## queue.h (module 'network'): ns3::Queue::Queue(ns3::Queue const & arg0) [copy constructor] + cls.add_constructor([param('ns3::Queue const &', 'arg0')]) + ## queue.h (module 'network'): ns3::Queue::Queue() [constructor] + cls.add_constructor([]) + ## queue.h (module 'network'): ns3::Ptr ns3::Queue::Dequeue() [member function] + cls.add_method('Dequeue', + 'ns3::Ptr< ns3::Packet >', + []) + ## queue.h (module 'network'): void ns3::Queue::DequeueAll() [member function] + cls.add_method('DequeueAll', + 'void', + []) + ## queue.h (module 'network'): bool ns3::Queue::Enqueue(ns3::Ptr p) [member function] + cls.add_method('Enqueue', + 'bool', + [param('ns3::Ptr< ns3::Packet >', 'p')]) + ## queue.h (module 'network'): uint32_t ns3::Queue::GetNBytes() const [member function] + cls.add_method('GetNBytes', + 'uint32_t', + [], + is_const=True) + ## queue.h (module 'network'): uint32_t ns3::Queue::GetNPackets() const [member function] + cls.add_method('GetNPackets', + 'uint32_t', + [], + is_const=True) + ## queue.h (module 'network'): uint32_t ns3::Queue::GetTotalDroppedBytes() const [member function] + cls.add_method('GetTotalDroppedBytes', + 'uint32_t', + [], + is_const=True) + ## queue.h (module 'network'): uint32_t ns3::Queue::GetTotalDroppedPackets() const [member function] + cls.add_method('GetTotalDroppedPackets', + 'uint32_t', + [], + is_const=True) + ## queue.h (module 'network'): uint32_t ns3::Queue::GetTotalReceivedBytes() const [member function] + cls.add_method('GetTotalReceivedBytes', + 'uint32_t', + [], + is_const=True) + ## queue.h (module 'network'): uint32_t ns3::Queue::GetTotalReceivedPackets() const [member function] + cls.add_method('GetTotalReceivedPackets', + 'uint32_t', + [], + is_const=True) + ## queue.h (module 'network'): static ns3::TypeId ns3::Queue::GetTypeId() [member function] + cls.add_method('GetTypeId', + 'ns3::TypeId', + [], + is_static=True) + ## queue.h (module 'network'): bool ns3::Queue::IsEmpty() const [member function] + cls.add_method('IsEmpty', + 'bool', + [], + is_const=True) + ## queue.h (module 'network'): ns3::Ptr ns3::Queue::Peek() const [member function] + cls.add_method('Peek', + 'ns3::Ptr< ns3::Packet const >', + [], + is_const=True) + ## queue.h (module 'network'): void ns3::Queue::ResetStatistics() [member function] + cls.add_method('ResetStatistics', + 'void', + []) + ## queue.h (module 'network'): void ns3::Queue::Drop(ns3::Ptr packet) [member function] + cls.add_method('Drop', + 'void', + [param('ns3::Ptr< ns3::Packet >', 'packet')], + visibility='protected') + ## queue.h (module 'network'): ns3::Ptr ns3::Queue::DoDequeue() [member function] + cls.add_method('DoDequeue', + 'ns3::Ptr< ns3::Packet >', + [], + is_pure_virtual=True, visibility='private', is_virtual=True) + ## queue.h (module 'network'): bool ns3::Queue::DoEnqueue(ns3::Ptr p) [member function] + cls.add_method('DoEnqueue', + 'bool', + [param('ns3::Ptr< ns3::Packet >', 'p')], + is_pure_virtual=True, visibility='private', is_virtual=True) + ## queue.h (module 'network'): ns3::Ptr ns3::Queue::DoPeek() const [member function] + cls.add_method('DoPeek', + 'ns3::Ptr< ns3::Packet const >', + [], + is_pure_virtual=True, is_const=True, visibility='private', is_virtual=True) + return + def register_Ns3RandomVariableStream_methods(root_module, cls): ## random-variable-stream.h (module 'core'): static ns3::TypeId ns3::RandomVariableStream::GetTypeId() [member function] cls.add_method('GetTypeId', @@ -3947,6 +4055,49 @@ def register_Ns3ErlangRandomVariable_methods(root_module, cls): is_virtual=True) return +def register_Ns3ErrorModel_methods(root_module, cls): + ## error-model.h (module 'network'): ns3::ErrorModel::ErrorModel(ns3::ErrorModel const & arg0) [copy constructor] + cls.add_constructor([param('ns3::ErrorModel const &', 'arg0')]) + ## error-model.h (module 'network'): ns3::ErrorModel::ErrorModel() [constructor] + cls.add_constructor([]) + ## error-model.h (module 'network'): void ns3::ErrorModel::Disable() [member function] + cls.add_method('Disable', + 'void', + []) + ## error-model.h (module 'network'): void ns3::ErrorModel::Enable() [member function] + cls.add_method('Enable', + 'void', + []) + ## error-model.h (module 'network'): static ns3::TypeId ns3::ErrorModel::GetTypeId() [member function] + cls.add_method('GetTypeId', + 'ns3::TypeId', + [], + is_static=True) + ## error-model.h (module 'network'): bool ns3::ErrorModel::IsCorrupt(ns3::Ptr pkt) [member function] + cls.add_method('IsCorrupt', + 'bool', + [param('ns3::Ptr< ns3::Packet >', 'pkt')]) + ## error-model.h (module 'network'): bool ns3::ErrorModel::IsEnabled() const [member function] + cls.add_method('IsEnabled', + 'bool', + [], + is_const=True) + ## error-model.h (module 'network'): void ns3::ErrorModel::Reset() [member function] + cls.add_method('Reset', + 'void', + []) + ## error-model.h (module 'network'): bool ns3::ErrorModel::DoCorrupt(ns3::Ptr arg0) [member function] + cls.add_method('DoCorrupt', + 'bool', + [param('ns3::Ptr< ns3::Packet >', 'arg0')], + is_pure_virtual=True, visibility='private', is_virtual=True) + ## error-model.h (module 'network'): void ns3::ErrorModel::DoReset() [member function] + cls.add_method('DoReset', + 'void', + [], + is_pure_virtual=True, visibility='private', is_virtual=True) + return + def register_Ns3EventImpl_methods(root_module, cls): ## event-impl.h (module 'core'): ns3::EventImpl::EventImpl(ns3::EventImpl const & arg0) [copy constructor] cls.add_constructor([param('ns3::EventImpl const &', 'arg0')]) @@ -4207,6 +4358,37 @@ def register_Ns3Ipv6PrefixValue_methods(root_module, cls): [param('ns3::Ipv6Prefix const &', 'value')]) return +def register_Ns3ListErrorModel_methods(root_module, cls): + ## error-model.h (module 'network'): ns3::ListErrorModel::ListErrorModel(ns3::ListErrorModel const & arg0) [copy constructor] + cls.add_constructor([param('ns3::ListErrorModel const &', 'arg0')]) + ## error-model.h (module 'network'): ns3::ListErrorModel::ListErrorModel() [constructor] + cls.add_constructor([]) + ## error-model.h (module 'network'): std::list > ns3::ListErrorModel::GetList() const [member function] + cls.add_method('GetList', + 'std::list< unsigned int >', + [], + is_const=True) + ## error-model.h (module 'network'): static ns3::TypeId ns3::ListErrorModel::GetTypeId() [member function] + cls.add_method('GetTypeId', + 'ns3::TypeId', + [], + is_static=True) + ## error-model.h (module 'network'): void ns3::ListErrorModel::SetList(std::list > const & packetlist) [member function] + cls.add_method('SetList', + 'void', + [param('std::list< unsigned int > const &', 'packetlist')]) + ## error-model.h (module 'network'): bool ns3::ListErrorModel::DoCorrupt(ns3::Ptr p) [member function] + cls.add_method('DoCorrupt', + 'bool', + [param('ns3::Ptr< ns3::Packet >', 'p')], + visibility='private', is_virtual=True) + ## error-model.h (module 'network'): void ns3::ListErrorModel::DoReset() [member function] + cls.add_method('DoReset', + 'void', + [], + visibility='private', is_virtual=True) + return + def register_Ns3LogNormalRandomVariable_methods(root_module, cls): ## random-variable-stream.h (module 'core'): static ns3::TypeId ns3::LogNormalRandomVariable::GetTypeId() [member function] cls.add_method('GetTypeId', @@ -4569,10 +4751,10 @@ def register_Ns3NormalRandomVariable_methods(root_module, cls): 'double', [], is_const=True) - ## random-variable-stream.h (module 'core'): double ns3::NormalRandomVariable::GetValue(double mean, double variance, double bound) [member function] + ## random-variable-stream.h (module 'core'): double ns3::NormalRandomVariable::GetValue(double mean, double variance, double bound=ns3::NormalRandomVariable::INFINITE_VALUE) [member function] cls.add_method('GetValue', 'double', - [param('double', 'mean'), param('double', 'variance'), param('double', 'bound')]) + [param('double', 'mean'), param('double', 'variance'), param('double', 'bound', default_value='ns3::NormalRandomVariable::INFINITE_VALUE')]) ## random-variable-stream.h (module 'core'): uint32_t ns3::NormalRandomVariable::GetInteger(uint32_t mean, uint32_t variance, uint32_t bound) [member function] cls.add_method('GetInteger', 'uint32_t', @@ -4866,6 +5048,100 @@ def register_Ns3ParetoRandomVariable_methods(root_module, cls): is_virtual=True) return +def register_Ns3RateErrorModel_methods(root_module, cls): + ## error-model.h (module 'network'): ns3::RateErrorModel::RateErrorModel(ns3::RateErrorModel const & arg0) [copy constructor] + cls.add_constructor([param('ns3::RateErrorModel const &', 'arg0')]) + ## error-model.h (module 'network'): ns3::RateErrorModel::RateErrorModel() [constructor] + cls.add_constructor([]) + ## error-model.h (module 'network'): int64_t ns3::RateErrorModel::AssignStreams(int64_t stream) [member function] + cls.add_method('AssignStreams', + 'int64_t', + [param('int64_t', 'stream')]) + ## error-model.h (module 'network'): double ns3::RateErrorModel::GetRate() const [member function] + cls.add_method('GetRate', + 'double', + [], + is_const=True) + ## error-model.h (module 'network'): static ns3::TypeId ns3::RateErrorModel::GetTypeId() [member function] + cls.add_method('GetTypeId', + 'ns3::TypeId', + [], + is_static=True) + ## error-model.h (module 'network'): ns3::RateErrorModel::ErrorUnit ns3::RateErrorModel::GetUnit() const [member function] + cls.add_method('GetUnit', + 'ns3::RateErrorModel::ErrorUnit', + [], + is_const=True) + ## error-model.h (module 'network'): void ns3::RateErrorModel::SetRandomVariable(ns3::Ptr arg0) [member function] + cls.add_method('SetRandomVariable', + 'void', + [param('ns3::Ptr< ns3::RandomVariableStream >', 'arg0')]) + ## error-model.h (module 'network'): void ns3::RateErrorModel::SetRate(double rate) [member function] + cls.add_method('SetRate', + 'void', + [param('double', 'rate')]) + ## error-model.h (module 'network'): void ns3::RateErrorModel::SetUnit(ns3::RateErrorModel::ErrorUnit error_unit) [member function] + cls.add_method('SetUnit', + 'void', + [param('ns3::RateErrorModel::ErrorUnit', 'error_unit')]) + ## error-model.h (module 'network'): bool ns3::RateErrorModel::DoCorrupt(ns3::Ptr p) [member function] + cls.add_method('DoCorrupt', + 'bool', + [param('ns3::Ptr< ns3::Packet >', 'p')], + visibility='private', is_virtual=True) + ## error-model.h (module 'network'): bool ns3::RateErrorModel::DoCorruptBit(ns3::Ptr p) [member function] + cls.add_method('DoCorruptBit', + 'bool', + [param('ns3::Ptr< ns3::Packet >', 'p')], + visibility='private', is_virtual=True) + ## error-model.h (module 'network'): bool ns3::RateErrorModel::DoCorruptByte(ns3::Ptr p) [member function] + cls.add_method('DoCorruptByte', + 'bool', + [param('ns3::Ptr< ns3::Packet >', 'p')], + visibility='private', is_virtual=True) + ## error-model.h (module 'network'): bool ns3::RateErrorModel::DoCorruptPkt(ns3::Ptr p) [member function] + cls.add_method('DoCorruptPkt', + 'bool', + [param('ns3::Ptr< ns3::Packet >', 'p')], + visibility='private', is_virtual=True) + ## error-model.h (module 'network'): void ns3::RateErrorModel::DoReset() [member function] + cls.add_method('DoReset', + 'void', + [], + visibility='private', is_virtual=True) + return + +def register_Ns3ReceiveListErrorModel_methods(root_module, cls): + ## error-model.h (module 'network'): ns3::ReceiveListErrorModel::ReceiveListErrorModel(ns3::ReceiveListErrorModel const & arg0) [copy constructor] + cls.add_constructor([param('ns3::ReceiveListErrorModel const &', 'arg0')]) + ## error-model.h (module 'network'): ns3::ReceiveListErrorModel::ReceiveListErrorModel() [constructor] + cls.add_constructor([]) + ## error-model.h (module 'network'): std::list > ns3::ReceiveListErrorModel::GetList() const [member function] + cls.add_method('GetList', + 'std::list< unsigned int >', + [], + is_const=True) + ## error-model.h (module 'network'): static ns3::TypeId ns3::ReceiveListErrorModel::GetTypeId() [member function] + cls.add_method('GetTypeId', + 'ns3::TypeId', + [], + is_static=True) + ## error-model.h (module 'network'): void ns3::ReceiveListErrorModel::SetList(std::list > const & packetlist) [member function] + cls.add_method('SetList', + 'void', + [param('std::list< unsigned int > const &', 'packetlist')]) + ## error-model.h (module 'network'): bool ns3::ReceiveListErrorModel::DoCorrupt(ns3::Ptr p) [member function] + cls.add_method('DoCorrupt', + 'bool', + [param('ns3::Ptr< ns3::Packet >', 'p')], + visibility='private', is_virtual=True) + ## error-model.h (module 'network'): void ns3::ReceiveListErrorModel::DoReset() [member function] + cls.add_method('DoReset', + 'void', + [], + visibility='private', is_virtual=True) + return + def register_Ns3TimeChecker_methods(root_module, cls): ## nstime.h (module 'core'): ns3::TimeChecker::TimeChecker() [constructor] cls.add_constructor([]) diff --git a/src/csma/bindings/modulegen__gcc_LP64.py b/src/csma/bindings/modulegen__gcc_LP64.py index 4b357dfe6..2a817883d 100644 --- a/src/csma/bindings/modulegen__gcc_LP64.py +++ b/src/csma/bindings/modulegen__gcc_LP64.py @@ -140,6 +140,10 @@ def register_types(module): module.add_class('AggregateIterator', import_from_module='ns.core', outer_class=root_module['ns3::Object']) ## pcap-file-wrapper.h (module 'network'): ns3::PcapFileWrapper [class] module.add_class('PcapFileWrapper', import_from_module='ns.network', parent=root_module['ns3::Object']) + ## queue.h (module 'network'): ns3::Queue [class] + module.add_class('Queue', import_from_module='ns.network', parent=root_module['ns3::Object']) + ## queue.h (module 'network'): ns3::Queue::QueueMode [enumeration] + module.add_enum('QueueMode', ['QUEUE_MODE_PACKETS', 'QUEUE_MODE_BYTES'], outer_class=root_module['ns3::Queue'], import_from_module='ns.network') ## random-variable-stream.h (module 'core'): ns3::RandomVariableStream [class] module.add_class('RandomVariableStream', import_from_module='ns.core', parent=root_module['ns3::Object']) ## random-variable-stream.h (module 'core'): ns3::SequentialRandomVariable [class] @@ -212,6 +216,8 @@ def register_types(module): module.add_class('EmptyAttributeValue', import_from_module='ns.core', parent=root_module['ns3::AttributeValue']) ## random-variable-stream.h (module 'core'): ns3::ErlangRandomVariable [class] module.add_class('ErlangRandomVariable', import_from_module='ns.core', parent=root_module['ns3::RandomVariableStream']) + ## error-model.h (module 'network'): ns3::ErrorModel [class] + module.add_class('ErrorModel', import_from_module='ns.network', parent=root_module['ns3::Object']) ## event-impl.h (module 'core'): ns3::EventImpl [class] module.add_class('EventImpl', import_from_module='ns.core', parent=root_module['ns3::SimpleRefCount< ns3::EventImpl, ns3::empty, ns3::DefaultDeleter >']) ## random-variable-stream.h (module 'core'): ns3::ExponentialRandomVariable [class] @@ -234,6 +240,8 @@ def register_types(module): module.add_class('Ipv6PrefixChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker']) ## ipv6-address.h (module 'network'): ns3::Ipv6PrefixValue [class] module.add_class('Ipv6PrefixValue', import_from_module='ns.network', parent=root_module['ns3::AttributeValue']) + ## error-model.h (module 'network'): ns3::ListErrorModel [class] + module.add_class('ListErrorModel', import_from_module='ns.network', parent=root_module['ns3::ErrorModel']) ## random-variable-stream.h (module 'core'): ns3::LogNormalRandomVariable [class] module.add_class('LogNormalRandomVariable', import_from_module='ns.core', parent=root_module['ns3::RandomVariableStream']) ## mac48-address.h (module 'network'): ns3::Mac48AddressChecker [class] @@ -260,6 +268,12 @@ def register_types(module): module.add_class('Packet', import_from_module='ns.network', parent=root_module['ns3::SimpleRefCount< ns3::Packet, ns3::empty, ns3::DefaultDeleter >']) ## random-variable-stream.h (module 'core'): ns3::ParetoRandomVariable [class] module.add_class('ParetoRandomVariable', import_from_module='ns.core', parent=root_module['ns3::RandomVariableStream']) + ## error-model.h (module 'network'): ns3::RateErrorModel [class] + module.add_class('RateErrorModel', import_from_module='ns.network', parent=root_module['ns3::ErrorModel']) + ## error-model.h (module 'network'): ns3::RateErrorModel::ErrorUnit [enumeration] + module.add_enum('ErrorUnit', ['ERROR_UNIT_BIT', 'ERROR_UNIT_BYTE', 'ERROR_UNIT_PACKET'], outer_class=root_module['ns3::RateErrorModel'], import_from_module='ns.network') + ## error-model.h (module 'network'): ns3::ReceiveListErrorModel [class] + module.add_class('ReceiveListErrorModel', import_from_module='ns.network', parent=root_module['ns3::ErrorModel']) ## nstime.h (module 'core'): ns3::TimeChecker [class] module.add_class('TimeChecker', import_from_module='ns.core', parent=root_module['ns3::AttributeChecker']) ## nstime.h (module 'core'): ns3::TimeValue [class] @@ -276,6 +290,7 @@ def register_types(module): module.add_class('CsmaNetDevice', parent=root_module['ns3::NetDevice']) ## csma-net-device.h (module 'csma'): ns3::CsmaNetDevice::EncapsulationMode [enumeration] module.add_enum('EncapsulationMode', ['ILLEGAL', 'DIX', 'LLC'], outer_class=root_module['ns3::CsmaNetDevice']) + module.add_container('std::list< unsigned int >', 'unsigned int', container_type='list') ## Register a nested module for the namespace FatalImpl @@ -340,6 +355,7 @@ def register_methods(root_module): register_Ns3Object_methods(root_module, root_module['ns3::Object']) register_Ns3ObjectAggregateIterator_methods(root_module, root_module['ns3::Object::AggregateIterator']) register_Ns3PcapFileWrapper_methods(root_module, root_module['ns3::PcapFileWrapper']) + register_Ns3Queue_methods(root_module, root_module['ns3::Queue']) register_Ns3RandomVariableStream_methods(root_module, root_module['ns3::RandomVariableStream']) register_Ns3SequentialRandomVariable_methods(root_module, root_module['ns3::SequentialRandomVariable']) register_Ns3SimpleRefCount__Ns3AttributeAccessor_Ns3Empty_Ns3DefaultDeleter__lt__ns3AttributeAccessor__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::AttributeAccessor, ns3::empty, ns3::DefaultDeleter >']) @@ -374,6 +390,7 @@ def register_methods(root_module): register_Ns3EmpiricalRandomVariable_methods(root_module, root_module['ns3::EmpiricalRandomVariable']) register_Ns3EmptyAttributeValue_methods(root_module, root_module['ns3::EmptyAttributeValue']) register_Ns3ErlangRandomVariable_methods(root_module, root_module['ns3::ErlangRandomVariable']) + register_Ns3ErrorModel_methods(root_module, root_module['ns3::ErrorModel']) register_Ns3EventImpl_methods(root_module, root_module['ns3::EventImpl']) register_Ns3ExponentialRandomVariable_methods(root_module, root_module['ns3::ExponentialRandomVariable']) register_Ns3GammaRandomVariable_methods(root_module, root_module['ns3::GammaRandomVariable']) @@ -385,6 +402,7 @@ def register_methods(root_module): register_Ns3Ipv6AddressValue_methods(root_module, root_module['ns3::Ipv6AddressValue']) register_Ns3Ipv6PrefixChecker_methods(root_module, root_module['ns3::Ipv6PrefixChecker']) register_Ns3Ipv6PrefixValue_methods(root_module, root_module['ns3::Ipv6PrefixValue']) + register_Ns3ListErrorModel_methods(root_module, root_module['ns3::ListErrorModel']) register_Ns3LogNormalRandomVariable_methods(root_module, root_module['ns3::LogNormalRandomVariable']) register_Ns3Mac48AddressChecker_methods(root_module, root_module['ns3::Mac48AddressChecker']) register_Ns3Mac48AddressValue_methods(root_module, root_module['ns3::Mac48AddressValue']) @@ -397,6 +415,8 @@ def register_methods(root_module): register_Ns3OutputStreamWrapper_methods(root_module, root_module['ns3::OutputStreamWrapper']) register_Ns3Packet_methods(root_module, root_module['ns3::Packet']) register_Ns3ParetoRandomVariable_methods(root_module, root_module['ns3::ParetoRandomVariable']) + register_Ns3RateErrorModel_methods(root_module, root_module['ns3::RateErrorModel']) + register_Ns3ReceiveListErrorModel_methods(root_module, root_module['ns3::ReceiveListErrorModel']) register_Ns3TimeChecker_methods(root_module, root_module['ns3::TimeChecker']) register_Ns3TimeValue_methods(root_module, root_module['ns3::TimeValue']) register_Ns3TypeIdChecker_methods(root_module, root_module['ns3::TypeIdChecker']) @@ -2904,6 +2924,94 @@ def register_Ns3PcapFileWrapper_methods(root_module, cls): []) return +def register_Ns3Queue_methods(root_module, cls): + ## queue.h (module 'network'): ns3::Queue::Queue(ns3::Queue const & arg0) [copy constructor] + cls.add_constructor([param('ns3::Queue const &', 'arg0')]) + ## queue.h (module 'network'): ns3::Queue::Queue() [constructor] + cls.add_constructor([]) + ## queue.h (module 'network'): ns3::Ptr ns3::Queue::Dequeue() [member function] + cls.add_method('Dequeue', + 'ns3::Ptr< ns3::Packet >', + []) + ## queue.h (module 'network'): void ns3::Queue::DequeueAll() [member function] + cls.add_method('DequeueAll', + 'void', + []) + ## queue.h (module 'network'): bool ns3::Queue::Enqueue(ns3::Ptr p) [member function] + cls.add_method('Enqueue', + 'bool', + [param('ns3::Ptr< ns3::Packet >', 'p')]) + ## queue.h (module 'network'): uint32_t ns3::Queue::GetNBytes() const [member function] + cls.add_method('GetNBytes', + 'uint32_t', + [], + is_const=True) + ## queue.h (module 'network'): uint32_t ns3::Queue::GetNPackets() const [member function] + cls.add_method('GetNPackets', + 'uint32_t', + [], + is_const=True) + ## queue.h (module 'network'): uint32_t ns3::Queue::GetTotalDroppedBytes() const [member function] + cls.add_method('GetTotalDroppedBytes', + 'uint32_t', + [], + is_const=True) + ## queue.h (module 'network'): uint32_t ns3::Queue::GetTotalDroppedPackets() const [member function] + cls.add_method('GetTotalDroppedPackets', + 'uint32_t', + [], + is_const=True) + ## queue.h (module 'network'): uint32_t ns3::Queue::GetTotalReceivedBytes() const [member function] + cls.add_method('GetTotalReceivedBytes', + 'uint32_t', + [], + is_const=True) + ## queue.h (module 'network'): uint32_t ns3::Queue::GetTotalReceivedPackets() const [member function] + cls.add_method('GetTotalReceivedPackets', + 'uint32_t', + [], + is_const=True) + ## queue.h (module 'network'): static ns3::TypeId ns3::Queue::GetTypeId() [member function] + cls.add_method('GetTypeId', + 'ns3::TypeId', + [], + is_static=True) + ## queue.h (module 'network'): bool ns3::Queue::IsEmpty() const [member function] + cls.add_method('IsEmpty', + 'bool', + [], + is_const=True) + ## queue.h (module 'network'): ns3::Ptr ns3::Queue::Peek() const [member function] + cls.add_method('Peek', + 'ns3::Ptr< ns3::Packet const >', + [], + is_const=True) + ## queue.h (module 'network'): void ns3::Queue::ResetStatistics() [member function] + cls.add_method('ResetStatistics', + 'void', + []) + ## queue.h (module 'network'): void ns3::Queue::Drop(ns3::Ptr packet) [member function] + cls.add_method('Drop', + 'void', + [param('ns3::Ptr< ns3::Packet >', 'packet')], + visibility='protected') + ## queue.h (module 'network'): ns3::Ptr ns3::Queue::DoDequeue() [member function] + cls.add_method('DoDequeue', + 'ns3::Ptr< ns3::Packet >', + [], + is_pure_virtual=True, visibility='private', is_virtual=True) + ## queue.h (module 'network'): bool ns3::Queue::DoEnqueue(ns3::Ptr p) [member function] + cls.add_method('DoEnqueue', + 'bool', + [param('ns3::Ptr< ns3::Packet >', 'p')], + is_pure_virtual=True, visibility='private', is_virtual=True) + ## queue.h (module 'network'): ns3::Ptr ns3::Queue::DoPeek() const [member function] + cls.add_method('DoPeek', + 'ns3::Ptr< ns3::Packet const >', + [], + is_pure_virtual=True, is_const=True, visibility='private', is_virtual=True) + return + def register_Ns3RandomVariableStream_methods(root_module, cls): ## random-variable-stream.h (module 'core'): static ns3::TypeId ns3::RandomVariableStream::GetTypeId() [member function] cls.add_method('GetTypeId', @@ -3947,6 +4055,49 @@ def register_Ns3ErlangRandomVariable_methods(root_module, cls): is_virtual=True) return +def register_Ns3ErrorModel_methods(root_module, cls): + ## error-model.h (module 'network'): ns3::ErrorModel::ErrorModel(ns3::ErrorModel const & arg0) [copy constructor] + cls.add_constructor([param('ns3::ErrorModel const &', 'arg0')]) + ## error-model.h (module 'network'): ns3::ErrorModel::ErrorModel() [constructor] + cls.add_constructor([]) + ## error-model.h (module 'network'): void ns3::ErrorModel::Disable() [member function] + cls.add_method('Disable', + 'void', + []) + ## error-model.h (module 'network'): void ns3::ErrorModel::Enable() [member function] + cls.add_method('Enable', + 'void', + []) + ## error-model.h (module 'network'): static ns3::TypeId ns3::ErrorModel::GetTypeId() [member function] + cls.add_method('GetTypeId', + 'ns3::TypeId', + [], + is_static=True) + ## error-model.h (module 'network'): bool ns3::ErrorModel::IsCorrupt(ns3::Ptr pkt) [member function] + cls.add_method('IsCorrupt', + 'bool', + [param('ns3::Ptr< ns3::Packet >', 'pkt')]) + ## error-model.h (module 'network'): bool ns3::ErrorModel::IsEnabled() const [member function] + cls.add_method('IsEnabled', + 'bool', + [], + is_const=True) + ## error-model.h (module 'network'): void ns3::ErrorModel::Reset() [member function] + cls.add_method('Reset', + 'void', + []) + ## error-model.h (module 'network'): bool ns3::ErrorModel::DoCorrupt(ns3::Ptr arg0) [member function] + cls.add_method('DoCorrupt', + 'bool', + [param('ns3::Ptr< ns3::Packet >', 'arg0')], + is_pure_virtual=True, visibility='private', is_virtual=True) + ## error-model.h (module 'network'): void ns3::ErrorModel::DoReset() [member function] + cls.add_method('DoReset', + 'void', + [], + is_pure_virtual=True, visibility='private', is_virtual=True) + return + def register_Ns3EventImpl_methods(root_module, cls): ## event-impl.h (module 'core'): ns3::EventImpl::EventImpl(ns3::EventImpl const & arg0) [copy constructor] cls.add_constructor([param('ns3::EventImpl const &', 'arg0')]) @@ -4207,6 +4358,37 @@ def register_Ns3Ipv6PrefixValue_methods(root_module, cls): [param('ns3::Ipv6Prefix const &', 'value')]) return +def register_Ns3ListErrorModel_methods(root_module, cls): + ## error-model.h (module 'network'): ns3::ListErrorModel::ListErrorModel(ns3::ListErrorModel const & arg0) [copy constructor] + cls.add_constructor([param('ns3::ListErrorModel const &', 'arg0')]) + ## error-model.h (module 'network'): ns3::ListErrorModel::ListErrorModel() [constructor] + cls.add_constructor([]) + ## error-model.h (module 'network'): std::list > ns3::ListErrorModel::GetList() const [member function] + cls.add_method('GetList', + 'std::list< unsigned int >', + [], + is_const=True) + ## error-model.h (module 'network'): static ns3::TypeId ns3::ListErrorModel::GetTypeId() [member function] + cls.add_method('GetTypeId', + 'ns3::TypeId', + [], + is_static=True) + ## error-model.h (module 'network'): void ns3::ListErrorModel::SetList(std::list > const & packetlist) [member function] + cls.add_method('SetList', + 'void', + [param('std::list< unsigned int > const &', 'packetlist')]) + ## error-model.h (module 'network'): bool ns3::ListErrorModel::DoCorrupt(ns3::Ptr p) [member function] + cls.add_method('DoCorrupt', + 'bool', + [param('ns3::Ptr< ns3::Packet >', 'p')], + visibility='private', is_virtual=True) + ## error-model.h (module 'network'): void ns3::ListErrorModel::DoReset() [member function] + cls.add_method('DoReset', + 'void', + [], + visibility='private', is_virtual=True) + return + def register_Ns3LogNormalRandomVariable_methods(root_module, cls): ## random-variable-stream.h (module 'core'): static ns3::TypeId ns3::LogNormalRandomVariable::GetTypeId() [member function] cls.add_method('GetTypeId', @@ -4569,10 +4751,10 @@ def register_Ns3NormalRandomVariable_methods(root_module, cls): 'double', [], is_const=True) - ## random-variable-stream.h (module 'core'): double ns3::NormalRandomVariable::GetValue(double mean, double variance, double bound) [member function] + ## random-variable-stream.h (module 'core'): double ns3::NormalRandomVariable::GetValue(double mean, double variance, double bound=ns3::NormalRandomVariable::INFINITE_VALUE) [member function] cls.add_method('GetValue', 'double', - [param('double', 'mean'), param('double', 'variance'), param('double', 'bound')]) + [param('double', 'mean'), param('double', 'variance'), param('double', 'bound', default_value='ns3::NormalRandomVariable::INFINITE_VALUE')]) ## random-variable-stream.h (module 'core'): uint32_t ns3::NormalRandomVariable::GetInteger(uint32_t mean, uint32_t variance, uint32_t bound) [member function] cls.add_method('GetInteger', 'uint32_t', @@ -4866,6 +5048,100 @@ def register_Ns3ParetoRandomVariable_methods(root_module, cls): is_virtual=True) return +def register_Ns3RateErrorModel_methods(root_module, cls): + ## error-model.h (module 'network'): ns3::RateErrorModel::RateErrorModel(ns3::RateErrorModel const & arg0) [copy constructor] + cls.add_constructor([param('ns3::RateErrorModel const &', 'arg0')]) + ## error-model.h (module 'network'): ns3::RateErrorModel::RateErrorModel() [constructor] + cls.add_constructor([]) + ## error-model.h (module 'network'): int64_t ns3::RateErrorModel::AssignStreams(int64_t stream) [member function] + cls.add_method('AssignStreams', + 'int64_t', + [param('int64_t', 'stream')]) + ## error-model.h (module 'network'): double ns3::RateErrorModel::GetRate() const [member function] + cls.add_method('GetRate', + 'double', + [], + is_const=True) + ## error-model.h (module 'network'): static ns3::TypeId ns3::RateErrorModel::GetTypeId() [member function] + cls.add_method('GetTypeId', + 'ns3::TypeId', + [], + is_static=True) + ## error-model.h (module 'network'): ns3::RateErrorModel::ErrorUnit ns3::RateErrorModel::GetUnit() const [member function] + cls.add_method('GetUnit', + 'ns3::RateErrorModel::ErrorUnit', + [], + is_const=True) + ## error-model.h (module 'network'): void ns3::RateErrorModel::SetRandomVariable(ns3::Ptr arg0) [member function] + cls.add_method('SetRandomVariable', + 'void', + [param('ns3::Ptr< ns3::RandomVariableStream >', 'arg0')]) + ## error-model.h (module 'network'): void ns3::RateErrorModel::SetRate(double rate) [member function] + cls.add_method('SetRate', + 'void', + [param('double', 'rate')]) + ## error-model.h (module 'network'): void ns3::RateErrorModel::SetUnit(ns3::RateErrorModel::ErrorUnit error_unit) [member function] + cls.add_method('SetUnit', + 'void', + [param('ns3::RateErrorModel::ErrorUnit', 'error_unit')]) + ## error-model.h (module 'network'): bool ns3::RateErrorModel::DoCorrupt(ns3::Ptr p) [member function] + cls.add_method('DoCorrupt', + 'bool', + [param('ns3::Ptr< ns3::Packet >', 'p')], + visibility='private', is_virtual=True) + ## error-model.h (module 'network'): bool ns3::RateErrorModel::DoCorruptBit(ns3::Ptr p) [member function] + cls.add_method('DoCorruptBit', + 'bool', + [param('ns3::Ptr< ns3::Packet >', 'p')], + visibility='private', is_virtual=True) + ## error-model.h (module 'network'): bool ns3::RateErrorModel::DoCorruptByte(ns3::Ptr p) [member function] + cls.add_method('DoCorruptByte', + 'bool', + [param('ns3::Ptr< ns3::Packet >', 'p')], + visibility='private', is_virtual=True) + ## error-model.h (module 'network'): bool ns3::RateErrorModel::DoCorruptPkt(ns3::Ptr p) [member function] + cls.add_method('DoCorruptPkt', + 'bool', + [param('ns3::Ptr< ns3::Packet >', 'p')], + visibility='private', is_virtual=True) + ## error-model.h (module 'network'): void ns3::RateErrorModel::DoReset() [member function] + cls.add_method('DoReset', + 'void', + [], + visibility='private', is_virtual=True) + return + +def register_Ns3ReceiveListErrorModel_methods(root_module, cls): + ## error-model.h (module 'network'): ns3::ReceiveListErrorModel::ReceiveListErrorModel(ns3::ReceiveListErrorModel const & arg0) [copy constructor] + cls.add_constructor([param('ns3::ReceiveListErrorModel const &', 'arg0')]) + ## error-model.h (module 'network'): ns3::ReceiveListErrorModel::ReceiveListErrorModel() [constructor] + cls.add_constructor([]) + ## error-model.h (module 'network'): std::list > ns3::ReceiveListErrorModel::GetList() const [member function] + cls.add_method('GetList', + 'std::list< unsigned int >', + [], + is_const=True) + ## error-model.h (module 'network'): static ns3::TypeId ns3::ReceiveListErrorModel::GetTypeId() [member function] + cls.add_method('GetTypeId', + 'ns3::TypeId', + [], + is_static=True) + ## error-model.h (module 'network'): void ns3::ReceiveListErrorModel::SetList(std::list > const & packetlist) [member function] + cls.add_method('SetList', + 'void', + [param('std::list< unsigned int > const &', 'packetlist')]) + ## error-model.h (module 'network'): bool ns3::ReceiveListErrorModel::DoCorrupt(ns3::Ptr p) [member function] + cls.add_method('DoCorrupt', + 'bool', + [param('ns3::Ptr< ns3::Packet >', 'p')], + visibility='private', is_virtual=True) + ## error-model.h (module 'network'): void ns3::ReceiveListErrorModel::DoReset() [member function] + cls.add_method('DoReset', + 'void', + [], + visibility='private', is_virtual=True) + return + def register_Ns3TimeChecker_methods(root_module, cls): ## nstime.h (module 'core'): ns3::TimeChecker::TimeChecker() [constructor] cls.add_constructor([]) diff --git a/src/csma/bindings/modulegen_customizations.py b/src/csma/bindings/modulegen_customizations.py new file mode 100644 index 000000000..838288fee --- /dev/null +++ b/src/csma/bindings/modulegen_customizations.py @@ -0,0 +1,5 @@ + +def post_register_types(root_module): + root_module.add_include('"ns3/queue.h"') + root_module.add_include('"ns3/error-model.h"') + diff --git a/src/csma/bindings/scan-header.h b/src/csma/bindings/scan-header.h new file mode 100644 index 000000000..5abfd98d6 --- /dev/null +++ b/src/csma/bindings/scan-header.h @@ -0,0 +1,6 @@ +// -*- c++ -*- + +#include "ns3/csma-module.h" + +#include "ns3/queue.h" +#include "ns3/error-model.h"