convert Node * to Ptr<Node>

Mathieu Lacage 2007-05-10 07:43:52 +02:00
parent 4d1c0647c8
commit 817876d6fe
2 changed files with 6 additions and 12 deletions

View File

@ -42,7 +42,7 @@ namespace ns3 {
const uint16_t Ipv4::PROT_NUMBER = 0x0800; const uint16_t Ipv4::PROT_NUMBER = 0x0800;
Ipv4::Ipv4(Node *node) Ipv4::Ipv4(Ptr<Node> node)
: L3Protocol (PROT_NUMBER, 4), : L3Protocol (PROT_NUMBER, 4),
m_nInterfaces (0), m_nInterfaces (0),
m_defaultTtl (64), m_defaultTtl (64),
@ -51,12 +51,9 @@ Ipv4::Ipv4(Node *node)
m_node (node) m_node (node)
{ {
SetupLoopback (); SetupLoopback ();
m_node->Ref ();
} }
Ipv4::~Ipv4 () Ipv4::~Ipv4 ()
{ {}
DoDispose ();
}
void void
Ipv4::DoDispose (void) Ipv4::DoDispose (void)
@ -83,11 +80,7 @@ Ipv4::DoDispose (void)
delete m_defaultRoute; delete m_defaultRoute;
m_defaultRoute = 0; m_defaultRoute = 0;
} }
if (m_node != 0) m_node = 0;
{
m_node->Unref ();
m_node = 0;
}
L3Protocol::DoDispose (); L3Protocol::DoDispose ();
} }

View File

@ -27,6 +27,7 @@
#include "ns3/callback-trace-source.h" #include "ns3/callback-trace-source.h"
#include "ns3/array-trace-resolver.h" #include "ns3/array-trace-resolver.h"
#include "ns3/ipv4-address.h" #include "ns3/ipv4-address.h"
#include "ns3/ptr.h"
#include "l3-protocol.h" #include "l3-protocol.h"
namespace ns3 { namespace ns3 {
@ -58,7 +59,7 @@ public:
}; };
typedef ArrayTraceResolver<Ipv4Interface>::Index InterfaceIndex; typedef ArrayTraceResolver<Ipv4Interface>::Index InterfaceIndex;
Ipv4(Node *node); Ipv4(Ptr<Node> node);
virtual ~Ipv4 (); virtual ~Ipv4 ();
/** /**
@ -240,7 +241,7 @@ private:
HostRoutes m_hostRoutes; HostRoutes m_hostRoutes;
NetworkRoutes m_networkRoutes; NetworkRoutes m_networkRoutes;
Ipv4Route *m_defaultRoute; Ipv4Route *m_defaultRoute;
Node *m_node; Ptr<Node> m_node;
CallbackTraceSource<Packet const &, uint32_t> m_txTrace; CallbackTraceSource<Packet const &, uint32_t> m_txTrace;
CallbackTraceSource<Packet const &, uint32_t> m_rxTrace; CallbackTraceSource<Packet const &, uint32_t> m_rxTrace;
CallbackTraceSource<Packet const &> m_dropTrace; CallbackTraceSource<Packet const &> m_dropTrace;