diff -r 6fb98941c36f -r e1660959ecbb src/node/node.cc --- a/src/node/node.cc Thu May 10 18:33:52 2007 +0200 +++ b/src/node/node.cc Thu May 10 20:19:26 2007 +0200 @@ -69,16 +69,15 @@ } uint32_t -Node::AddDevice (NetDevice *device) +Node::AddDevice (Ptr device) { - device->Ref (); uint32_t index = m_devices.size (); m_devices.push_back (device); DoAddDevice (device); device->SetIfIndex(index); return index; } -NetDevice * +Ptr Node::GetDevice (uint32_t index) const { return m_devices[index]; @@ -91,12 +90,12 @@ void Node::DoDispose() { - for (std::vector::iterator i = m_devices.begin (); + for (std::vector >::iterator i = m_devices.begin (); i != m_devices.end (); i++) { - NetDevice *device = *i; + Ptr device = *i; device->Dispose (); - device->Unref (); + *i = 0; } m_devices.clear (); NsUnknown::DoDispose ();