src/node/node-list.cc
changeset 1362 162bd608c970
parent 1341 f685d4bf320f
child 1364 7866d4dd9e64
--- a/src/node/node-list.cc	Mon Aug 27 13:21:59 2007 +0200
+++ b/src/node/node-list.cc	Mon Aug 27 13:36:40 2007 +0200
@@ -20,24 +20,12 @@
  *  Mathieu Lacage <mathieu.lacage@sophia.inria.fr>,
  */
 
-#include "ns3/array-trace-resolver.h"
-#include "ns3/trace-root.h"
+#include "ns3/composite-trace-resolver.h"
 #include "ns3/simulator.h"
 #include "ns3/simulation-singleton.h"
 #include "node-list.h"
 #include "node.h"
 
-namespace {
-static class Initialization 
-{
-public:
-  Initialization ()
-  {
-    ns3::TraceRoot::Register ("nodes", ns3::MakeCallback (&ns3::NodeList::GetTraceResolver));
-  }
-} g_initialization;
-}
-
 namespace ns3 {
 
 NodeListIndex::NodeListIndex ()
@@ -133,9 +121,8 @@
 Ptr<TraceResolver>
 NodeListPriv::GetTraceResolver (void)
 {
-  Ptr<ArrayTraceResolver<NodeListIndex> >resolver =
-    Create<ArrayTraceResolver<NodeListIndex> > ();
-  resolver->SetIterators (Begin (), End ());
+  Ptr<CompositeTraceResolver> resolver = Create<CompositeTraceResolver> ();
+  resolver->AddArray ("nodes", Begin (), End (), NodeListIndex ());
   return resolver;
 }
 
@@ -163,17 +150,21 @@
 {
   return SimulationSingleton<NodeListPriv>::Get ()->End ();
 }
-Ptr<TraceResolver>
-NodeList::GetTraceResolver (void)
-{
-  return SimulationSingleton<NodeListPriv>::Get ()->GetTraceResolver ();
-}
 Ptr<Node>
 NodeList::GetNode (uint32_t n)
 {
   return SimulationSingleton<NodeListPriv>::Get ()->GetNode (n);
 }
 
-
+void 
+NodeList::Connect (std::string name, const CallbackBase &cb)
+{
+  SimulationSingleton<NodeListPriv>::Get ()->GetTraceResolver ()->Connect (name, cb, TraceContext ());
+}
+void 
+NodeList::Disconnect (std::string name, const CallbackBase &cb)
+{
+  SimulationSingleton<NodeListPriv>::Get ()->GetTraceResolver ()->Disconnect (name, cb);
+}
 
 }//namespace ns3