26 #include "ns3/object.h"
27 #include "ns3/callback.h"
29 #include "ns3/net-device.h"
30 #include "ns3/common-cognitive-header.h"
59 static TypeId GetTypeId (
void);
65 Node(uint32_t systemId);
75 uint32_t
GetId (
void)
const;
160 uint16_t protocolType,
162 bool promiscuous=
false);
197 void SetCognitiveRadio(
bool isCR);
198 bool IsCognitiveRadio(
void);
217 void Construct (
void);
225 typedef std::vector<struct Node::ProtocolHandlerEntry> ProtocolHandlerList;
226 typedef std::vector<DeviceAdditionListener> DeviceAdditionListenerList;
230 std::vector<Ptr<NetDevice> > m_devices;
231 std::vector<Ptr<Application> > m_applications;
232 ProtocolHandlerList m_handlers;
233 DeviceAdditionListenerList m_deviceAdditionListeners;
234 bool m_isCognitiveRadio;
uint32_t AddApplication(Ptr< Application > application)
smart pointer class similar to boost::intrusive_ptr
uint32_t GetNApplications(void) const
virtual void DoInitialize(void)
static bool ChecksumEnabled(void)
uint32_t GetSystemId(void) const
void UnregisterProtocolHandler(ProtocolHandler handler)
a polymophic address class
Ptr< Application > GetApplication(uint32_t index) const
virtual void DoDispose(void)
Ptr< NetDevice > GetDevice(uint32_t index) const
uint32_t GetNDevices(void) const
void RegisterDeviceAdditionListener(DeviceAdditionListener listener)
void RegisterProtocolHandler(ProtocolHandler handler, uint16_t protocolType, Ptr< NetDevice > device, bool promiscuous=false)
uint32_t AddDevice(Ptr< NetDevice > device)
uint32_t GetId(void) const
void UnregisterDeviceAdditionListener(DeviceAdditionListener listener)
Callback< void, Ptr< NetDevice > > DeviceAdditionListener
a base class which provides memory management and object aggregation
Callback< void, Ptr< NetDevice >, Ptr< const Packet >, uint16_t, const Address &, const Address &, NetDevice::PacketType > ProtocolHandler
a unique identifier for an interface.