equal
deleted
inserted
replaced
67 { |
67 { |
68 m_sid = s; |
68 m_sid = s; |
69 } |
69 } |
70 |
70 |
71 uint32_t |
71 uint32_t |
72 Node::AddDevice (NetDevice *device) |
72 Node::AddDevice (Ptr<NetDevice> device) |
73 { |
73 { |
74 device->Ref (); |
|
75 uint32_t index = m_devices.size (); |
74 uint32_t index = m_devices.size (); |
76 m_devices.push_back (device); |
75 m_devices.push_back (device); |
77 DoAddDevice (device); |
76 DoAddDevice (device); |
78 device->SetIfIndex(index); |
77 device->SetIfIndex(index); |
79 return index; |
78 return index; |
80 } |
79 } |
81 NetDevice * |
80 Ptr<NetDevice> |
82 Node::GetDevice (uint32_t index) const |
81 Node::GetDevice (uint32_t index) const |
83 { |
82 { |
84 return m_devices[index]; |
83 return m_devices[index]; |
85 } |
84 } |
86 uint32_t |
85 uint32_t |
89 return m_devices.size (); |
88 return m_devices.size (); |
90 } |
89 } |
91 |
90 |
92 void Node::DoDispose() |
91 void Node::DoDispose() |
93 { |
92 { |
94 for (std::vector<NetDevice *>::iterator i = m_devices.begin (); |
93 for (std::vector<Ptr<NetDevice> >::iterator i = m_devices.begin (); |
95 i != m_devices.end (); i++) |
94 i != m_devices.end (); i++) |
96 { |
95 { |
97 NetDevice *device = *i; |
96 Ptr<NetDevice> device = *i; |
98 device->Dispose (); |
97 device->Dispose (); |
99 device->Unref (); |
98 *i = 0; |
100 } |
99 } |
101 m_devices.clear (); |
100 m_devices.clear (); |
102 NsUnknown::DoDispose (); |
101 NsUnknown::DoDispose (); |
103 } |
102 } |
104 |
103 |