make Node derive from NsUnknown rather than Object

Mathieu Lacage 2007-05-03 11:08:13 +02:00
parent 3e3d180edb
commit 20d0136449
2 changed files with 11 additions and 13 deletions

View File

@ -26,18 +26,23 @@
#include "node-list.h" #include "node-list.h"
#include "net-device.h" #include "net-device.h"
#include "ns3/simulator.h" #include "ns3/simulator.h"
#include "ns3/iid-manager.h"
namespace ns3{ namespace ns3{
const uint32_t Node::iid = IidManager::Allocate ("Node");
Node::Node() Node::Node()
: m_id(0), : NsUnknown (Node::iid),
m_id(0),
m_sid(0) m_sid(0)
{ {
m_id = NodeList::Add (this); m_id = NodeList::Add (this);
} }
Node::Node(uint32_t sid) Node::Node(uint32_t sid)
: m_id(0), : NsUnknown (Node::iid),
m_id(0),
m_sid(sid) m_sid(sid)
{ {
m_id = NodeList::Add (this); m_id = NodeList::Add (this);

View File

@ -26,18 +26,12 @@
#define __NODE_H__ #define __NODE_H__
#include <vector> #include <vector>
#include <list>
#include "ns3/smartset.h" #include "ns3/ns-unknown.h"
#include "ns3/object.h"
namespace ns3 { namespace ns3 {
class NodeList;
class ApplicationList; class ApplicationList;
// The below five may be encapsulated/abstracted in a Kernel or Stack class
class L3Demux; class L3Demux;
class Ipv4L4Demux; class Ipv4L4Demux;
class Ipv4; class Ipv4;
@ -48,12 +42,11 @@ class TraceContext;
class TraceResolver; class TraceResolver;
class NetDevice; class NetDevice;
class Node : public Object class Node : public NsUnknown
{ {
friend class NodeList;
friend class SmartSet<Node*>;
public: public:
static const uint32_t iid;
Node(); Node();
Node(uint32_t); // Specify which system for a distributed simulation Node(uint32_t); // Specify which system for a distributed simulation
virtual ~Node(); virtual ~Node();