convert more code to use Ptr<Node> instead of Node *

Mathieu Lacage 2007-05-10 07:35:53 +02:00
parent b67d398976
commit 5bd6229ac1
4 changed files with 12 additions and 18 deletions

View File

@ -31,16 +31,12 @@
namespace ns3 { namespace ns3 {
ArpIpv4Interface::ArpIpv4Interface (Node *node, NetDevice *device) ArpIpv4Interface::ArpIpv4Interface (Ptr<Node> node, NetDevice *device)
: Ipv4Interface (device), : Ipv4Interface (device),
m_node (node) m_node (node)
{ {}
m_node->Ref ();
}
ArpIpv4Interface::~ArpIpv4Interface () ArpIpv4Interface::~ArpIpv4Interface ()
{ {}
m_node->Unref ();
}
TraceResolver * TraceResolver *
ArpIpv4Interface::DoCreateTraceResolver (TraceContext const &context) ArpIpv4Interface::DoCreateTraceResolver (TraceContext const &context)

View File

@ -23,6 +23,7 @@
#define ARP_IPV4_INTERFACE_H #define ARP_IPV4_INTERFACE_H
#include "ipv4-interface.h" #include "ipv4-interface.h"
#include "ns3/ptr.h"
namespace ns3 { namespace ns3 {
@ -42,13 +43,13 @@ class ArpIpv4Interface : public Ipv4Interface
NETDEVICE, NETDEVICE,
ARP, ARP,
}; };
ArpIpv4Interface (Node *node, NetDevice *device); ArpIpv4Interface (Ptr<Node> node, NetDevice *device);
virtual ~ArpIpv4Interface (); virtual ~ArpIpv4Interface ();
private: private:
virtual void SendTo (Packet p, Ipv4Address dest); virtual void SendTo (Packet p, Ipv4Address dest);
virtual TraceResolver *DoCreateTraceResolver (TraceContext const &context); virtual TraceResolver *DoCreateTraceResolver (TraceContext const &context);
Node *m_node; Ptr<Node> m_node;
}; };
}//namespace ns3 }//namespace ns3

View File

@ -27,16 +27,12 @@
namespace ns3 { namespace ns3 {
Ipv4LoopbackInterface::Ipv4LoopbackInterface (Node *node) Ipv4LoopbackInterface::Ipv4LoopbackInterface (Ptr<Node> node)
: Ipv4Interface (0), : Ipv4Interface (0),
m_node (node) m_node (node)
{ {}
m_node->Ref ();
}
Ipv4LoopbackInterface::~Ipv4LoopbackInterface () Ipv4LoopbackInterface::~Ipv4LoopbackInterface ()
{ {}
m_node->Unref ();
}
TraceResolver * TraceResolver *
Ipv4LoopbackInterface::DoCreateTraceResolver (TraceContext const &context) Ipv4LoopbackInterface::DoCreateTraceResolver (TraceContext const &context)

View File

@ -23,6 +23,7 @@
#define IPV4_LOOPBACK_INTERFACE_H #define IPV4_LOOPBACK_INTERFACE_H
#include "ipv4-interface.h" #include "ipv4-interface.h"
#include "ns3/ptr.h"
namespace ns3 { namespace ns3 {
@ -31,14 +32,14 @@ class Node;
class Ipv4LoopbackInterface : public Ipv4Interface class Ipv4LoopbackInterface : public Ipv4Interface
{ {
public: public:
Ipv4LoopbackInterface (Node *node); Ipv4LoopbackInterface (Ptr<Node> node);
virtual ~Ipv4LoopbackInterface (); virtual ~Ipv4LoopbackInterface ();
private: private:
virtual void SendTo (Packet p, Ipv4Address dest); virtual void SendTo (Packet p, Ipv4Address dest);
virtual TraceResolver *DoCreateTraceResolver (TraceContext const &context); virtual TraceResolver *DoCreateTraceResolver (TraceContext const &context);
Node *m_node; Ptr<Node> m_node;
}; };
}//namespace ns3 }//namespace ns3