make Node derive from NsUnknown rather than Object
authorMathieu Lacage <mathieu.lacage@sophia.inria.fr>
Thu, 03 May 2007 11:08:13 +0200
changeset 512 5404e1e41f82
parent 511 1a379b68cabc
child 513 b7c7ea629de9
make Node derive from NsUnknown rather than Object
src/node/node.cc
src/node/node.h
--- a/src/node/node.cc	Thu May 03 11:06:51 2007 +0200
+++ b/src/node/node.cc	Thu May 03 11:08:13 2007 +0200
@@ -26,18 +26,23 @@
 #include "node-list.h"
 #include "net-device.h"
 #include "ns3/simulator.h"
+#include "ns3/iid-manager.h"
 
 namespace ns3{
 
+const uint32_t Node::iid = IidManager::Allocate ("Node");
+
 Node::Node()
-  : m_id(0), 
+  : NsUnknown (Node::iid),
+    m_id(0), 
     m_sid(0)
 {
   m_id = NodeList::Add (this);
 }
 
 Node::Node(uint32_t sid)
-  : m_id(0), 
+  : NsUnknown (Node::iid),
+    m_id(0), 
     m_sid(sid)
 { 
   m_id = NodeList::Add (this);
--- a/src/node/node.h	Thu May 03 11:06:51 2007 +0200
+++ b/src/node/node.h	Thu May 03 11:08:13 2007 +0200
@@ -26,18 +26,12 @@
 #define __NODE_H__
 
 #include <vector>
-#include <list>
 
-#include "ns3/smartset.h"
-#include "ns3/object.h"
+#include "ns3/ns-unknown.h"
 
 namespace ns3 {
 
-class NodeList;
-
 class ApplicationList;
-
-// The below five may be encapsulated/abstracted in a Kernel or Stack class
 class L3Demux;
 class Ipv4L4Demux;
 class Ipv4;
@@ -48,12 +42,11 @@
 class TraceResolver;
 class NetDevice;
 
-class Node : public Object
+class Node : public NsUnknown
 {
-friend class NodeList;
-friend class SmartSet<Node*>;
+public:
+  static const uint32_t iid;
 
-public:
   Node();
   Node(uint32_t); // Specify which system for a distributed simulation
   virtual ~Node();