14#include "ns3/net-device.h"
16#include "ns3/zigbee-stack.h"
48 NS_ASSERT_MSG(device,
"NetDevice not found in the node " << i);
50 NS_LOG_LOGIC(
"Installing Zigbee on node " << device->GetNode()->GetId());
56 zigbeeStack->SetOnlyNwkLayer();
59 zigbeeStackContainer.
Add(zigbeeStack);
60 device->GetNode()->AggregateObject(zigbeeStack);
61 zigbeeStack->SetNetDevice(device);
63 return zigbeeStackContainer;
Hold a value for an Attribute.
holds a vector of ns3::NetDevice pointers
uint32_t GetN() const
Get the number of Ptr<NetDevice> stored in this container.
Ptr< NetDevice > Get(uint32_t i) const
Get the Ptr<NetDevice> stored in this container at a given index.
Ptr< Object > Create() const
Create an Object instance of the configured TypeId.
void Set(const std::string &name, const AttributeValue &value, Args &&... args)
Set an attribute to be set during construction.
void SetTypeId(TypeId tid)
Set the TypeId of the Objects to be created by this factory.
Smart pointer class similar to boost::intrusive_ptr.
zigbee::ZigbeeStackContainer Install(NetDeviceContainer c)
Install the Zigbee stack on top of an existing LrWpanNetDevice.
void SetNwkLayerOnly()
If this is set, the helper will only create Zigbee stacks that contain only the NWK layer.
ObjectFactory m_stackFactory
Zigbee stack object factory.
bool m_nwkLayerOnly
Flag indicating that only the NWK layer is present.
void SetDeviceAttribute(std::string n1, const AttributeValue &v1)
Set an attribute on each ns3::ZigbeeStack created by ZigbeeHelper::Install.
Holds a vector of ns3::ZigbeeStack pointers.
void Add(ZigbeeStackContainer other)
Append the contents of another ZigbeeStackContainer to the end of this container.
Zigbee protocol stack to device interface.
#define NS_ASSERT_MSG(condition, message)
At runtime, in debugging builds, if this condition is not true, the program prints the message to out...
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
#define NS_LOG_LOGIC(msg)
Use NS_LOG to output a message of level LOG_LOGIC.
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by ",...
Every class exported by the ns3 library is enclosed in the ns3 namespace.