diff -r 67584d6fc928 -r f3be9eed2d90 src/common/trace-resolver.cc --- 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