src/common/trace-resolver.cc
changeset 1325 f3be9eed2d90
parent 345 47b41507a45a
child 1328 03f1081c21a7
--- a/src/common/trace-resolver.cc	Thu Aug 09 13:42:42 2007 +0200
+++ b/src/common/trace-resolver.cc	Thu Aug 09 21:25:23 2007 +0200
@@ -22,21 +22,12 @@
 
 namespace ns3 {
 
-TraceResolver::TraceResolver (TraceContext const &context)
-  : m_context (context)
-{}
 
 TraceResolver::~TraceResolver ()
 {}
 
-TraceContext const &
-TraceResolver::GetContext (void) const
-{
-  return m_context;
-}
-
 void 
-TraceResolver::Connect (std::string path, CallbackBase const &cb)
+TraceResolver::Connect (std::string path, CallbackBase const &cb, const TraceContext &context)
 {
   std::string::size_type cur = 1;
   // check that first char is "/"
@@ -45,16 +36,18 @@
   TraceResolverList resolverList = DoLookup (element);
   for (TraceResolverList::iterator i = resolverList.begin (); i != resolverList.end (); i++)
     {
-      TraceResolver *resolver = *i;
+      TraceResolver *resolver = i->first;
+      TraceContext tmp = context;
+      tmp.Add (i->second);
       if (next == std::string::npos) 
 	{
 	  // we really break the recursion here.
-	  resolver->DoConnect (cb);
+	  resolver->DoConnect (cb, tmp);
 	}
       else
 	{
 	  std::string subpath = std::string (path, next, std::string::npos);
-          resolver->Connect (subpath, cb);
+          resolver->Connect (subpath, cb, tmp);
 	}
       delete resolver;
     }
@@ -71,7 +64,7 @@
   TraceResolverList resolverList = DoLookup (element);
   for (TraceResolverList::iterator i = resolverList.begin (); i != resolverList.end (); i++)
     {
-      TraceResolver *resolver = *i;
+      TraceResolver *resolver = i->first;
       if (next == std::string::npos) 
 	{
 	  // we really break the recursion here.
@@ -93,7 +86,7 @@
   return TraceResolverList ();
 }
 void 
-TraceResolver::DoConnect (CallbackBase const &cb)
+TraceResolver::DoConnect (CallbackBase const &cb, const TraceContext &context)
 {}
 
 void