--- 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