equal
deleted
inserted
replaced
22 #include "node-list.h" |
22 #include "node-list.h" |
23 #include "net-device.h" |
23 #include "net-device.h" |
24 #include "application.h" |
24 #include "application.h" |
25 #include "packet-socket-factory.h" |
25 #include "packet-socket-factory.h" |
26 #include "ns3/simulator.h" |
26 #include "ns3/simulator.h" |
27 #include "ns3/empty-trace-resolver.h" |
27 #include "ns3/composite-trace-resolver.h" |
28 |
28 |
29 namespace ns3{ |
29 namespace ns3{ |
30 |
30 |
31 const InterfaceId Node::iid = MakeInterfaceId ("Node", Object::iid); |
31 const InterfaceId Node::iid = MakeInterfaceId ("Node", Object::iid); |
32 |
32 |
57 {} |
57 {} |
58 |
58 |
59 TraceResolver * |
59 TraceResolver * |
60 Node::CreateTraceResolver (TraceContext const &context) |
60 Node::CreateTraceResolver (TraceContext const &context) |
61 { |
61 { |
62 return DoCreateTraceResolver (context); |
62 CompositeTraceResolver *resolver = new CompositeTraceResolver (context); |
|
63 DoFillTraceResolver (*resolver); |
|
64 return resolver; |
63 } |
65 } |
64 |
66 |
65 uint32_t |
67 uint32_t |
66 Node::GetId (void) const |
68 Node::GetId (void) const |
67 { |
69 { |
118 Node::GetNApplications (void) const |
120 Node::GetNApplications (void) const |
119 { |
121 { |
120 return m_applications.size (); |
122 return m_applications.size (); |
121 } |
123 } |
122 |
124 |
123 |
125 TraceResolver * |
124 void Node::DoDispose() |
126 Node::CreateDevicesTraceResolver (const TraceContext &context) |
|
127 { |
|
128 ArrayTraceResolver<Ptr<NetDevice> > *resolver = |
|
129 new ArrayTraceResolver<Ptr<NetDevice> > (context, |
|
130 MakeCallback (&Node::GetNDevices, this), |
|
131 MakeCallback (&Node::GetDevice, this)); |
|
132 |
|
133 return resolver; |
|
134 } |
|
135 |
|
136 void |
|
137 Node::DoFillTraceResolver (CompositeTraceResolver &resolver) |
|
138 { |
|
139 resolver.Add ("devices", |
|
140 MakeCallback (&Node::CreateDevicesTraceResolver, this), |
|
141 Node::DEVICES); |
|
142 } |
|
143 |
|
144 void |
|
145 Node::DoDispose() |
125 { |
146 { |
126 for (std::vector<Ptr<NetDevice> >::iterator i = m_devices.begin (); |
147 for (std::vector<Ptr<NetDevice> >::iterator i = m_devices.begin (); |
127 i != m_devices.end (); i++) |
148 i != m_devices.end (); i++) |
128 { |
149 { |
129 Ptr<NetDevice> device = *i; |
150 Ptr<NetDevice> device = *i; |
140 } |
161 } |
141 m_applications.clear (); |
162 m_applications.clear (); |
142 Object::DoDispose (); |
163 Object::DoDispose (); |
143 } |
164 } |
144 |
165 |
145 TraceResolver * |
|
146 Node::DoCreateTraceResolver (TraceContext const &context) |
|
147 { |
|
148 return new EmptyTraceResolver (context); |
|
149 } |
|
150 void |
166 void |
151 Node::NotifyDeviceAdded (Ptr<NetDevice> device) |
167 Node::NotifyDeviceAdded (Ptr<NetDevice> device) |
152 {} |
168 {} |
153 |
169 |
154 void |
170 void |