kill TraceResolver et al.
authorMathieu Lacage <mathieu.lacage@sophia.inria.fr>
Mon, 03 Mar 2008 01:58:57 +0100
changeset 2542a9b88fdc09d6
parent 2541 91020a8d4264
child 2543 401bfe8c0176
kill TraceResolver et al.
src/core/object.cc
src/core/object.h
src/core/wscript
src/devices/wifi/mac-low.cc
src/internet-node/arp-l3-protocol.h
src/internet-node/ascii-trace.cc
src/internet-node/ipv4-interface.cc
src/internet-node/ipv4-interface.h
src/internet-node/ipv4-static-routing.h
src/internet-node/tcp-l4-protocol.h
src/internet-node/udp-l4-protocol.h
src/mobility/hierarchical-mobility-model.cc
src/mobility/hierarchical-mobility-model.h
src/node/net-device.h
src/node/node.cc
utils/print-introspected-doxygen.cc
     1.1 --- a/src/core/object.cc	Sun Mar 02 22:53:11 2008 +0100
     1.2 +++ b/src/core/object.cc	Mon Mar 03 01:58:57 2008 +0100
     1.3 @@ -21,7 +21,6 @@
     1.4  #include "object.h"
     1.5  #include "assert.h"
     1.6  #include "singleton.h"
     1.7 -#include "trace-resolver.h"
     1.8  #include "attribute.h"
     1.9  #include "trace-source-accessor.h"
    1.10  #include "log.h"
    1.11 @@ -373,73 +372,8 @@
    1.12  
    1.13  } // anonymous namespace
    1.14  
    1.15 -/*********************************************************************
    1.16 - *         The TypeId TraceResolver
    1.17 - *********************************************************************/
    1.18 -
    1.19  namespace ns3 {
    1.20  
    1.21 -class TypeIdTraceResolver : public TraceResolver
    1.22 -{
    1.23 -public:
    1.24 -  TypeIdTraceResolver (Ptr<const Object> aggregate);
    1.25 -  virtual void Connect (std::string path, CallbackBase const &cb, const TraceContext &context);
    1.26 -  virtual void Disconnect (std::string path, CallbackBase const &cb);
    1.27 -  virtual void CollectSources (std::string path, const TraceContext &context, 
    1.28 -                               SourceCollection *collection);
    1.29 -  virtual void TraceAll (std::ostream &os, const TraceContext &context);
    1.30 -private:
    1.31 -  Ptr<const Object> ParseForInterface (std::string path);
    1.32 -  Ptr<const Object> m_aggregate;
    1.33 -};
    1.34 -
    1.35 -TypeIdTraceResolver::TypeIdTraceResolver (Ptr<const Object> aggregate)
    1.36 -  : m_aggregate (aggregate)
    1.37 -{}
    1.38 -Ptr<const Object>
    1.39 -TypeIdTraceResolver::ParseForInterface (std::string path)
    1.40 -{
    1.41 -  std::string element = GetElement (path);
    1.42 -  std::string::size_type dollar_pos = element.find ("$");
    1.43 -  if (dollar_pos != 0)
    1.44 -    {
    1.45 -      return 0;
    1.46 -    }
    1.47 -  std::string interfaceName = element.substr (1, std::string::npos);
    1.48 -  TypeId interfaceId = TypeId::LookupByName (interfaceName);
    1.49 -  Ptr<Object> interface = m_aggregate->GetObject<Object> (interfaceId);
    1.50 -  return interface;
    1.51 -}
    1.52 -void  
    1.53 -TypeIdTraceResolver::Connect (std::string path, CallbackBase const &cb, const TraceContext &context)
    1.54 -{
    1.55 -  Ptr<const Object> interface = ParseForInterface (path);
    1.56 -  if (interface != 0)
    1.57 -    {
    1.58 -      interface->GetTraceResolver ()->Connect (GetSubpath (path), cb, context);
    1.59 -    }
    1.60 -}
    1.61 -void 
    1.62 -TypeIdTraceResolver::Disconnect (std::string path, CallbackBase const &cb)
    1.63 -{
    1.64 -  Ptr<const Object> interface = ParseForInterface (path);
    1.65 -  if (interface != 0)
    1.66 -    {
    1.67 -      interface->TraceDisconnect (GetSubpath (path), cb);
    1.68 -    }
    1.69 -}
    1.70 -void 
    1.71 -TypeIdTraceResolver::CollectSources (std::string path, const TraceContext &context, 
    1.72 -                                          SourceCollection *collection)
    1.73 -{
    1.74 -  m_aggregate->DoCollectSources (path, context, collection);
    1.75 -}
    1.76 -void 
    1.77 -TypeIdTraceResolver::TraceAll (std::ostream &os, const TraceContext &context)
    1.78 -{
    1.79 -  m_aggregate->DoTraceAll (os, context);
    1.80 -}
    1.81 -
    1.82  /*********************************************************************
    1.83   *         The TypeId class
    1.84   *********************************************************************/
    1.85 @@ -1253,19 +1187,6 @@
    1.86  }
    1.87  
    1.88  void 
    1.89 -Object::TraceConnect (std::string path, const CallbackBase &cb) const
    1.90 -{
    1.91 -  NS_ASSERT (CheckLoose ());
    1.92 -  GetTraceResolver ()->Connect (path, cb, TraceContext ());
    1.93 -}
    1.94 -void 
    1.95 -Object::TraceDisconnect (std::string path, const CallbackBase &cb) const
    1.96 -{
    1.97 -  NS_ASSERT (CheckLoose ());
    1.98 -  GetTraceResolver ()->Disconnect (path, cb);
    1.99 -}
   1.100 -
   1.101 -void 
   1.102  Object::SetTypeId (TypeId tid)
   1.103  {
   1.104    NS_ASSERT (Check ());
   1.105 @@ -1278,14 +1199,6 @@
   1.106    NS_ASSERT (!m_disposed);
   1.107  }
   1.108  
   1.109 -Ptr<TraceResolver>
   1.110 -Object::GetTraceResolver (void) const
   1.111 -{
   1.112 -  NS_ASSERT (CheckLoose ());
   1.113 -  Ptr<TypeIdTraceResolver> resolver =
   1.114 -    Create<TypeIdTraceResolver> (this);
   1.115 -  return resolver;
   1.116 -}
   1.117  
   1.118  bool 
   1.119  Object::Check (void) const
   1.120 @@ -1354,77 +1267,12 @@
   1.121    } while (current != end);
   1.122  }
   1.123  
   1.124 -void 
   1.125 -Object::DoCollectSources (std::string path, const TraceContext &context, 
   1.126 -                          TraceResolver::SourceCollection *collection) const
   1.127 -{
   1.128 -  const Object *current;
   1.129 -  current = this;
   1.130 -  do {
   1.131 -    if (current->m_collecting)
   1.132 -      {
   1.133 -        return;
   1.134 -      }
   1.135 -    current = current->m_next;
   1.136 -  } while (current != this);
   1.137 -
   1.138 -  m_collecting = true;
   1.139 -
   1.140 -  current = this->m_next;
   1.141 -  while (current != this)
   1.142 -    {
   1.143 -      NS_ASSERT (current != 0);
   1.144 -      NS_LOG_LOGIC ("collect current=" << current);
   1.145 -      TypeId cur = current->m_tid;
   1.146 -      while (cur != Object::GetTypeId ())
   1.147 -        {
   1.148 -          std::string name = cur.GetName ();
   1.149 -          std::string fullpath = path;
   1.150 -          fullpath.append ("/$");
   1.151 -          fullpath.append (name);
   1.152 -          NS_LOG_LOGIC("collect: " << fullpath);
   1.153 -          current->GetTraceResolver ()->CollectSources (fullpath, context, collection);
   1.154 -          cur = cur.GetParent ();
   1.155 -        }
   1.156 -      current = current->m_next;
   1.157 -    }
   1.158 -
   1.159 -  m_collecting = false;
   1.160 -}
   1.161 -void 
   1.162 -Object::DoTraceAll (std::ostream &os, const TraceContext &context) const
   1.163 -{
   1.164 -  const Object *current;
   1.165 -  current = this;
   1.166 -  do {
   1.167 -    if (current->m_collecting)
   1.168 -      {
   1.169 -        return;
   1.170 -      }
   1.171 -    current = current->m_next;
   1.172 -  } while (current != this);
   1.173 -
   1.174 -  m_collecting = true;
   1.175 -
   1.176 -  current = this->m_next;
   1.177 -  while (current != this)
   1.178 -    {
   1.179 -      NS_ASSERT (current != 0);
   1.180 -      current->GetTraceResolver ()->TraceAll (os, context);
   1.181 -      current = current->m_next;
   1.182 -    }
   1.183 -
   1.184 -  m_collecting = false;
   1.185 -}
   1.186 -
   1.187  } // namespace ns3
   1.188  
   1.189  
   1.190  #ifdef RUN_SELF_TESTS
   1.191  
   1.192  #include "test.h"
   1.193 -#include "sv-trace-source.h"
   1.194 -#include "composite-trace-resolver.h"
   1.195  
   1.196  namespace {
   1.197  
   1.198 @@ -1439,18 +1287,7 @@
   1.199    }
   1.200    BaseA ()
   1.201    {}
   1.202 -  void BaseGenerateTrace (int16_t v)
   1.203 -  { m_source = v; }
   1.204    virtual void Dispose (void) {}
   1.205 -  virtual ns3::Ptr<ns3::TraceResolver> GetTraceResolver (void) const
   1.206 -  {
   1.207 -    ns3::Ptr<ns3::CompositeTraceResolver> resolver = 
   1.208 -      ns3::Create<ns3::CompositeTraceResolver> ();
   1.209 -    resolver->AddSource ("basea-x", ns3::TraceDoc ("test source"), m_source);
   1.210 -    resolver->SetParentResolver (Object::GetTraceResolver ());
   1.211 -    return resolver;
   1.212 -  }
   1.213 -  ns3::SVTraceSource<int16_t> m_source;
   1.214  };
   1.215  
   1.216  class DerivedA : public BaseA
   1.217 @@ -1464,20 +1301,9 @@
   1.218    }
   1.219    DerivedA ()
   1.220    {}
   1.221 -  void DerivedGenerateTrace (int16_t v)
   1.222 -  { m_sourceDerived = v; }
   1.223    virtual void Dispose (void) {
   1.224      BaseA::Dispose ();
   1.225    }
   1.226 -  virtual ns3::Ptr<ns3::TraceResolver> GetTraceResolver (void) const
   1.227 -  {
   1.228 -    ns3::Ptr<ns3::CompositeTraceResolver> resolver = 
   1.229 -      ns3::Create<ns3::CompositeTraceResolver> ();
   1.230 -    resolver->AddSource ("deriveda-x", ns3::TraceDoc ("test source"), m_sourceDerived);
   1.231 -    resolver->SetParentResolver (BaseA::GetTraceResolver ());
   1.232 -    return resolver;
   1.233 -  }
   1.234 -  ns3::SVTraceSource<int16_t> m_sourceDerived;
   1.235  };
   1.236  
   1.237  class BaseB : public ns3::Object
   1.238 @@ -1491,18 +1317,7 @@
   1.239    }
   1.240    BaseB ()
   1.241    {}
   1.242 -  void BaseGenerateTrace (int16_t v)
   1.243 -  { m_source = v; }
   1.244    virtual void Dispose (void) {}
   1.245 -  virtual ns3::Ptr<ns3::TraceResolver> GetTraceResolver (void) const
   1.246 -  {
   1.247 -    ns3::Ptr<ns3::CompositeTraceResolver> resolver = 
   1.248 -      ns3::Create<ns3::CompositeTraceResolver> ();
   1.249 -    resolver->AddSource ("baseb-x", ns3::TraceDoc ("test source"), m_source);
   1.250 -    resolver->SetParentResolver (Object::GetTraceResolver ());
   1.251 -    return resolver;
   1.252 -  }
   1.253 -  ns3::SVTraceSource<int16_t> m_source;
   1.254  };
   1.255  
   1.256  class DerivedB : public BaseB
   1.257 @@ -1516,20 +1331,9 @@
   1.258    }
   1.259    DerivedB ()
   1.260    {}
   1.261 -  void DerivedGenerateTrace (int16_t v)
   1.262 -  { m_sourceDerived = v; }
   1.263    virtual void Dispose (void) {
   1.264      BaseB::Dispose ();
   1.265    }
   1.266 -  virtual ns3::Ptr<ns3::TraceResolver> GetTraceResolver (void) const
   1.267 -  {
   1.268 -    ns3::Ptr<ns3::CompositeTraceResolver> resolver = 
   1.269 -      ns3::Create<ns3::CompositeTraceResolver> ();
   1.270 -    resolver->AddSource ("derivedb-x", ns3::TraceDoc ("test source"), m_sourceDerived);
   1.271 -    resolver->SetParentResolver (BaseB::GetTraceResolver ());
   1.272 -    return resolver;
   1.273 -  }
   1.274 -  ns3::SVTraceSource<int16_t> m_sourceDerived;
   1.275  };
   1.276  
   1.277  NS_OBJECT_ENSURE_REGISTERED (BaseA);
   1.278 @@ -1546,41 +1350,11 @@
   1.279  public:
   1.280    ObjectTest ();
   1.281    virtual bool RunTests (void);
   1.282 -private:
   1.283 -  void BaseATrace (const TraceContext &context, int64_t oldValue, int64_t newValue);
   1.284 -  void DerivedATrace (const TraceContext &context, int64_t oldValue, int64_t newValue);
   1.285 -  void BaseBTrace (const TraceContext &context, int64_t oldValue, int64_t newValue);
   1.286 -  void DerivedBTrace (const TraceContext &context, int64_t oldValue, int64_t newValue);
   1.287 -
   1.288 -  bool m_baseATrace;
   1.289 -  bool m_derivedATrace;
   1.290 -  bool m_baseBTrace;
   1.291 -  bool m_derivedBTrace;
   1.292  };
   1.293  
   1.294  ObjectTest::ObjectTest ()
   1.295    : Test ("Object")
   1.296  {}
   1.297 -void 
   1.298 -ObjectTest::BaseATrace (const TraceContext &context, int64_t oldValue, int64_t newValue)
   1.299 -{
   1.300 -  m_baseATrace = true;
   1.301 -}
   1.302 -void 
   1.303 -ObjectTest::DerivedATrace (const TraceContext &context, int64_t oldValue, int64_t newValue)
   1.304 -{
   1.305 -  m_derivedATrace = true;
   1.306 -}
   1.307 -void 
   1.308 -ObjectTest::BaseBTrace (const TraceContext &context, int64_t oldValue, int64_t newValue)
   1.309 -{
   1.310 -  m_baseBTrace = true;
   1.311 -}
   1.312 -void 
   1.313 -ObjectTest::DerivedBTrace (const TraceContext &context, int64_t oldValue, int64_t newValue)
   1.314 -{
   1.315 -  m_derivedBTrace = true;
   1.316 -}
   1.317  
   1.318  bool 
   1.319  ObjectTest::RunTests (void)
   1.320 @@ -1629,74 +1403,6 @@
   1.321    baseA = 0;
   1.322    baseA = baseB->GetObject<BaseA> ();
   1.323  
   1.324 -  baseA = CreateObject<BaseA> ();
   1.325 -  baseA->TraceConnect ("/basea-x", MakeCallback (&ObjectTest::BaseATrace, this));
   1.326 -  m_baseATrace = false;
   1.327 -  baseA->BaseGenerateTrace (1);
   1.328 -  NS_TEST_ASSERT (m_baseATrace);
   1.329 -  baseA->TraceDisconnect ("/basea-x", MakeCallback (&ObjectTest::BaseATrace, this));
   1.330 -
   1.331 -  baseB = CreateObject<BaseB> ();
   1.332 -  baseB->TraceConnect ("/baseb-x",  MakeCallback (&ObjectTest::BaseBTrace, this));
   1.333 -  m_baseBTrace = false;
   1.334 -  baseB->BaseGenerateTrace (2);
   1.335 -  NS_TEST_ASSERT (m_baseBTrace);
   1.336 -  baseB->TraceDisconnect ("/baseb-x",  MakeCallback (&ObjectTest::BaseBTrace, this));
   1.337 -
   1.338 -  baseA->AggregateObject (baseB);
   1.339 -
   1.340 -  baseA->TraceConnect ("/basea-x", MakeCallback (&ObjectTest::BaseATrace, this));
   1.341 -  m_baseATrace = false;
   1.342 -  baseA->BaseGenerateTrace (3);
   1.343 -  NS_TEST_ASSERT (m_baseATrace);
   1.344 -  baseA->TraceDisconnect ("/basea-x", MakeCallback (&ObjectTest::BaseATrace, this));
   1.345 -
   1.346 -  baseA->TraceConnect ("/$BaseB/baseb-x",  MakeCallback (&ObjectTest::BaseBTrace, this));
   1.347 -  m_baseBTrace = false;
   1.348 -  baseB->BaseGenerateTrace (4);
   1.349 -  NS_TEST_ASSERT (m_baseBTrace);
   1.350 -  baseA->TraceDisconnect ("/$BaseB/baseb-x",  MakeCallback (&ObjectTest::BaseBTrace, this));
   1.351 -  m_baseBTrace = false;
   1.352 -  baseB->BaseGenerateTrace (5);
   1.353 -  NS_TEST_ASSERT (!m_baseBTrace);
   1.354 -
   1.355 -  baseB->TraceConnect ("/$BaseA/basea-x", MakeCallback (&ObjectTest::BaseATrace, this));
   1.356 -  m_baseATrace = false;
   1.357 -  baseA->BaseGenerateTrace (6);
   1.358 -  NS_TEST_ASSERT (m_baseATrace);
   1.359 -  baseB->TraceDisconnect ("/$BaseA/basea-x", MakeCallback (&ObjectTest::BaseATrace, this));
   1.360 -
   1.361 -  baseA->TraceConnect ("/$BaseA/basea-x", MakeCallback (&ObjectTest::BaseATrace, this));
   1.362 -  m_baseATrace = false;
   1.363 -  baseA->BaseGenerateTrace (7);
   1.364 -  NS_TEST_ASSERT (m_baseATrace);
   1.365 -  baseA->TraceDisconnect ("/$BaseA/basea-x", MakeCallback (&ObjectTest::BaseATrace, this));
   1.366 -
   1.367 -  Ptr<DerivedA> derivedA;
   1.368 -  derivedA = CreateObject<DerivedA> ();
   1.369 -  baseB = CreateObject<BaseB> ();
   1.370 -  derivedA->AggregateObject (baseB);
   1.371 -  baseB->TraceConnect ("/$DerivedA/deriveda-x", MakeCallback (&ObjectTest::DerivedATrace, this));
   1.372 -  baseB->TraceConnect ("/$DerivedA/basea-x", MakeCallback (&ObjectTest::BaseATrace, this));
   1.373 -  m_derivedATrace = false;
   1.374 -  m_baseATrace = false;
   1.375 -  derivedA->DerivedGenerateTrace (8);
   1.376 -  derivedA->BaseGenerateTrace (9);
   1.377 -  NS_TEST_ASSERT (m_derivedATrace);
   1.378 -  NS_TEST_ASSERT (m_baseATrace);
   1.379 -  baseB->TraceDisconnect ("/$DerivedA/deriveda-x", MakeCallback (&ObjectTest::BaseATrace, this));
   1.380 -  baseB->TraceDisconnect ("/$DerivedA/basea-x", MakeCallback (&ObjectTest::BaseATrace, this));
   1.381 -
   1.382 -  baseB->TraceConnect ("/$DerivedA/*", MakeCallback (&ObjectTest::DerivedATrace, this));
   1.383 -  m_derivedATrace = false;
   1.384 -  derivedA->DerivedGenerateTrace (10);
   1.385 -  NS_TEST_ASSERT (m_derivedATrace);
   1.386 -  // here, we have connected the derived trace sink to all 
   1.387 -  // trace sources, including the base trace source.
   1.388 -  m_derivedATrace = false;
   1.389 -  derivedA->BaseGenerateTrace (11);
   1.390 -  NS_TEST_ASSERT (m_derivedATrace);
   1.391 -  baseB->TraceDisconnect ("/$DerivedA/*", MakeCallback (&ObjectTest::BaseATrace, this));
   1.392  
   1.393    // Test the object creation code of TypeId
   1.394    Ptr<Object> a = BaseA::GetTypeId ().CreateObject ();
     2.1 --- a/src/core/object.h	Sun Mar 02 22:53:11 2008 +0100
     2.2 +++ b/src/core/object.h	Mon Mar 03 01:58:57 2008 +0100
     2.3 @@ -23,8 +23,8 @@
     2.4  
     2.5  #include <stdint.h>
     2.6  #include <string>
     2.7 +#include <vector>
     2.8  #include "ptr.h"
     2.9 -#include "trace-resolver.h"
    2.10  #include "callback.h"
    2.11  #include "attribute.h"
    2.12  #include "object-base.h"
    2.13 @@ -42,7 +42,6 @@
    2.14  
    2.15  namespace ns3 {
    2.16  
    2.17 -class TraceContext;
    2.18  class CallbackBase;
    2.19  class Object;
    2.20  class AttributeAccessor;
    2.21 @@ -444,29 +443,6 @@
    2.22     */
    2.23    void AggregateObject (Ptr<Object> other);
    2.24  
    2.25 -  /**
    2.26 -   * \param path the path to match for the callback
    2.27 -   * \param cb callback to connect
    2.28 -   *
    2.29 -   * Connect the input callback to all trace sources which
    2.30 -   * match the input path.
    2.31 -   *
    2.32 -   */
    2.33 -  void TraceConnect (std::string path, const CallbackBase &cb) const;
    2.34 -  /**
    2.35 -   * \param path the path to match for the callback
    2.36 -   * \param cb callback to disconnect
    2.37 -   *
    2.38 -   * Disconnect the input callback from all trace sources which
    2.39 -   * match the input path.
    2.40 -   */
    2.41 -  void TraceDisconnect (std::string path, const CallbackBase &cb) const;
    2.42 -  /**
    2.43 -   * \returns the trace resolver associated to this object.
    2.44 -   *
    2.45 -   * This method should be rarely called by users.
    2.46 -   */
    2.47 -  virtual Ptr<TraceResolver> GetTraceResolver (void) const;
    2.48  protected:
    2.49    /**
    2.50     * This method is called by Object::Dispose.
    2.51 @@ -476,8 +452,6 @@
    2.52    virtual void DoDispose (void);
    2.53    virtual void NotifyConstructionCompleted (void);
    2.54  private:
    2.55 -  friend class TypeIdTraceResolver;
    2.56 -
    2.57    template <typename T>
    2.58    friend Ptr<T> CreateObject (const AttributeList &attributes);
    2.59  
    2.60 @@ -502,9 +476,6 @@
    2.61    bool DoSet (Ptr<const AttributeAccessor> spec, Attribute intialValue, 
    2.62                Ptr<const AttributeChecker> checker, Attribute value);
    2.63    Ptr<Object> DoGetObject (TypeId tid) const;
    2.64 -  void DoCollectSources (std::string path, const TraceContext &context, 
    2.65 -                         TraceResolver::SourceCollection *collection) const;
    2.66 -  void DoTraceAll (std::ostream &os, const TraceContext &context) const;
    2.67    bool Check (void) const;
    2.68    bool CheckLoose (void) const;
    2.69    /**
     3.1 --- a/src/core/wscript	Sun Mar 02 22:53:11 2008 +0100
     3.2 +++ b/src/core/wscript	Mon Mar 03 01:58:57 2008 +0100
     3.3 @@ -42,16 +42,7 @@
     3.4          'command-line.cc',
     3.5          'type-name.cc',
     3.6          'random-variable-default-value.cc',
     3.7 -        'variable-tracer-test.cc',
     3.8 -        'trace-context.cc',
     3.9 -        'trace-context-element.cc',
    3.10 -        'trace-resolver.cc',
    3.11 -        'callback-trace-source.cc',
    3.12 -        'composite-trace-resolver.cc',
    3.13 -        'trace-doc.cc',
    3.14 -        'trace-source.cc',
    3.15          'type-traits-test.cc',
    3.16 -        'array-trace-resolver.cc',
    3.17          'type-id-default-value.cc',
    3.18          'attribute.cc',
    3.19          'boolean.cc',
    3.20 @@ -98,17 +89,6 @@
    3.21          'type-name.h',
    3.22          'type-traits.h',
    3.23          'random-variable-default-value.h',
    3.24 -        'trace-source.h',
    3.25 -        'uv-trace-source.h',
    3.26 -        'sv-trace-source.h',
    3.27 -        'fv-trace-source.h',
    3.28 -        'callback-trace-source.h',
    3.29 -        'trace-context.h',
    3.30 -        'trace-context-element.h',
    3.31 -        'trace-resolver.h',
    3.32 -        'composite-trace-resolver.h',
    3.33 -        'array-trace-resolver.h',
    3.34 -        'trace-doc.h',
    3.35          'int-to-type.h',
    3.36          'type-id-default-value.h',
    3.37          'attribute.h',
     4.1 --- a/src/devices/wifi/mac-low.cc	Sun Mar 02 22:53:11 2008 +0100
     4.2 +++ b/src/devices/wifi/mac-low.cc	Mon Mar 03 01:58:57 2008 +0100
     4.3 @@ -31,7 +31,6 @@
     4.4  #include "wifi-mac.h"
     4.5  #include "mac-stations.h"
     4.6  #include "wifi-mac-parameters.h"
     4.7 -#include "ns3/composite-trace-resolver.h"
     4.8  
     4.9  NS_LOG_COMPONENT_DEFINE ("MacLow");
    4.10  
     5.1 --- a/src/internet-node/arp-l3-protocol.h	Sun Mar 02 22:53:11 2008 +0100
     5.2 +++ b/src/internet-node/arp-l3-protocol.h	Mon Mar 03 01:58:57 2008 +0100
     5.3 @@ -32,7 +32,6 @@
     5.4  class NetDevice;
     5.5  class Node;
     5.6  class Packet;
     5.7 -class TraceResolver;
     5.8  class TraceContext;
     5.9  /**
    5.10   * \brief An implementation of the ARP protocol
     6.1 --- a/src/internet-node/ascii-trace.cc	Sun Mar 02 22:53:11 2008 +0100
     6.2 +++ b/src/internet-node/ascii-trace.cc	Mon Mar 03 01:58:57 2008 +0100
     6.3 @@ -21,7 +21,6 @@
     6.4  #include "ascii-trace.h"
     6.5  
     6.6  #include "ns3/config.h"
     6.7 -#include "ns3/trace-context.h"
     6.8  #include "ns3/simulator.h"
     6.9  #include "ns3/node.h"
    6.10  #include "ns3/packet.h"
     7.1 --- a/src/internet-node/ipv4-interface.cc	Sun Mar 02 22:53:11 2008 +0100
     7.2 +++ b/src/internet-node/ipv4-interface.cc	Mon Mar 03 01:58:57 2008 +0100
     7.3 @@ -22,7 +22,6 @@
     7.4  #include "ipv4-interface.h"
     7.5  #include "ns3/ipv4-address.h"
     7.6  #include "ns3/net-device.h"
     7.7 -#include "ns3/trace-resolver.h"
     7.8  #include "ns3/log.h"
     7.9  #include "ns3/packet.h"
    7.10  
     8.1 --- a/src/internet-node/ipv4-interface.h	Sun Mar 02 22:53:11 2008 +0100
     8.2 +++ b/src/internet-node/ipv4-interface.h	Mon Mar 03 01:58:57 2008 +0100
     8.3 @@ -32,7 +32,6 @@
     8.4  
     8.5  class NetDevice;
     8.6  class Packet;
     8.7 -class TraceResolver;
     8.8  class TraceContext;
     8.9  
    8.10  /**
     9.1 --- a/src/internet-node/ipv4-static-routing.h	Sun Mar 02 22:53:11 2008 +0100
     9.2 +++ b/src/internet-node/ipv4-static-routing.h	Mon Mar 03 01:58:57 2008 +0100
     9.3 @@ -25,8 +25,6 @@
     9.4  
     9.5  #include <list>
     9.6  #include <stdint.h>
     9.7 -#include "ns3/callback-trace-source.h"
     9.8 -#include "ns3/array-trace-resolver.h"
     9.9  #include "ns3/ipv4-address.h"
    9.10  #include "ipv4-header.h"
    9.11  #include "ns3/ptr.h"
    9.12 @@ -41,8 +39,6 @@
    9.13  class Ipv4Header;
    9.14  class Ipv4Route;
    9.15  class Node;
    9.16 -class TraceResolver;
    9.17 -class TraceContext;
    9.18  
    9.19  
    9.20  /**
    10.1 --- a/src/internet-node/tcp-l4-protocol.h	Sun Mar 02 22:53:11 2008 +0100
    10.2 +++ b/src/internet-node/tcp-l4-protocol.h	Mon Mar 03 01:58:57 2008 +0100
    10.3 @@ -36,7 +36,6 @@
    10.4  namespace ns3 {
    10.5  
    10.6  class Node;
    10.7 -class TraceResolver;
    10.8  class TraceContext;
    10.9  class Socket;
   10.10  class TcpHeader;
    11.1 --- a/src/internet-node/udp-l4-protocol.h	Sun Mar 02 22:53:11 2008 +0100
    11.2 +++ b/src/internet-node/udp-l4-protocol.h	Mon Mar 03 01:58:57 2008 +0100
    11.3 @@ -33,7 +33,6 @@
    11.4  namespace ns3 {
    11.5  
    11.6  class Node;
    11.7 -class TraceResolver;
    11.8  class TraceContext;
    11.9  class Socket;
   11.10  /**
    12.1 --- a/src/mobility/hierarchical-mobility-model.cc	Sun Mar 02 22:53:11 2008 +0100
    12.2 +++ b/src/mobility/hierarchical-mobility-model.cc	Mon Mar 03 01:58:57 2008 +0100
    12.3 @@ -56,7 +56,7 @@
    12.4        notifier = CreateObject<MobilityModelNotifier> ();
    12.5        m_child->AggregateObject (notifier);
    12.6      }
    12.7 -  notifier->TraceConnect ("/course-changed", MakeCallback (&HierarchicalMobilityModel::ChildChanged, this));
    12.8 +  notifier->TraceSourceConnect ("CourseChanged", MakeCallback (&HierarchicalMobilityModel::ChildChanged, this));
    12.9  }
   12.10  
   12.11  void 
   12.12 @@ -70,7 +70,7 @@
   12.13        notifier = CreateObject<MobilityModelNotifier> ();
   12.14        m_parent->AggregateObject (notifier);
   12.15      }
   12.16 -  notifier->TraceConnect ("/course-changed", MakeCallback (&HierarchicalMobilityModel::ParentChanged, this));
   12.17 +  notifier->TraceSourceConnect ("CourseChanged", MakeCallback (&HierarchicalMobilityModel::ParentChanged, this));
   12.18  }
   12.19  
   12.20  
   12.21 @@ -118,13 +118,13 @@
   12.22  }
   12.23  
   12.24  void 
   12.25 -HierarchicalMobilityModel::ParentChanged (const TraceContext &context, Ptr<const MobilityModel> model)
   12.26 +HierarchicalMobilityModel::ParentChanged (Ptr<const MobilityModel> model)
   12.27  {
   12.28    MobilityModel::NotifyCourseChange ();
   12.29  }
   12.30  
   12.31  void 
   12.32 -HierarchicalMobilityModel::ChildChanged (const TraceContext &context, Ptr<const MobilityModel> model)
   12.33 +HierarchicalMobilityModel::ChildChanged (Ptr<const MobilityModel> model)
   12.34  {
   12.35    MobilityModel::NotifyCourseChange ();
   12.36  }
    13.1 --- a/src/mobility/hierarchical-mobility-model.h	Sun Mar 02 22:53:11 2008 +0100
    13.2 +++ b/src/mobility/hierarchical-mobility-model.h	Mon Mar 03 01:58:57 2008 +0100
    13.3 @@ -60,8 +60,8 @@
    13.4  
    13.5    void SetChild (Ptr<MobilityModel> model);
    13.6    void SetParent (Ptr<MobilityModel> model);
    13.7 -  void ParentChanged (const TraceContext &context, Ptr<const MobilityModel> model);
    13.8 -  void ChildChanged (const TraceContext &context, Ptr<const MobilityModel> model);
    13.9 +  void ParentChanged (Ptr<const MobilityModel> model);
   13.10 +  void ChildChanged (Ptr<const MobilityModel> model);
   13.11  
   13.12    Ptr<MobilityModel> m_child;
   13.13    Ptr<MobilityModel> m_parent;
    14.1 --- a/src/node/net-device.h	Sun Mar 02 22:53:11 2008 +0100
    14.2 +++ b/src/node/net-device.h	Mon Mar 03 01:58:57 2008 +0100
    14.3 @@ -33,7 +33,6 @@
    14.4  namespace ns3 {
    14.5  
    14.6  class Node;
    14.7 -class TraceResolver;
    14.8  class TraceContext;
    14.9  class Channel;
   14.10  class Packet;
    15.1 --- a/src/node/node.cc	Sun Mar 02 22:53:11 2008 +0100
    15.2 +++ b/src/node/node.cc	Mon Mar 03 01:58:57 2008 +0100
    15.3 @@ -25,7 +25,6 @@
    15.4  #include "packet-socket-factory.h"
    15.5  #include "ns3/packet.h"
    15.6  #include "ns3/simulator.h"
    15.7 -#include "ns3/composite-trace-resolver.h"
    15.8  #include "ns3/object-vector.h"
    15.9  #include "ns3/uinteger.h"
   15.10  
    16.1 --- a/utils/print-introspected-doxygen.cc	Sun Mar 02 22:53:11 2008 +0100
    16.2 +++ b/utils/print-introspected-doxygen.cc	Mon Mar 03 01:58:57 2008 +0100
    16.3 @@ -1,6 +1,5 @@
    16.4  #include "ns3/internet-node.h"
    16.5  #include "ns3/ptr.h"
    16.6 -#include "ns3/trace-resolver.h"
    16.7  #include "ns3/node-list.h"
    16.8  #include "ns3/point-to-point-net-device.h"
    16.9  #include "ns3/csma-net-device.h"
   16.10 @@ -12,77 +11,6 @@
   16.11  
   16.12  using namespace ns3;
   16.13  
   16.14 -void
   16.15 -PrintSimpleText (const TraceResolver::SourceCollection *sources, std::ostream &os)
   16.16 -{
   16.17 -  for (TraceResolver::SourceCollection::Iterator i = sources->Begin (); i != sources->End (); i++)
   16.18 -    {
   16.19 -      os << "source=" << i->path << std::endl;
   16.20 -      os << "TraceContext=[";
   16.21 -      i->context.PrintAvailable (os, ",");
   16.22 -      os << "]" << std::endl;
   16.23 -      os << "help=\"" << i->doc.GetHelp () << "\"" << std::endl;
   16.24 -      os << "void TraceSinkCallback (const TraceContext &";
   16.25 -      for (TraceDoc::Iterator k = i->doc.ArgsBegin (); k != i->doc.ArgsEnd (); k++)
   16.26 -        {
   16.27 -          os << ", " << k->first;
   16.28 -        }
   16.29 -      os << ")" << std::endl;
   16.30 -      os << "argument 1  --  the trace context associated to the connected trace source." << std::endl;
   16.31 -      uint32_t k = 2;
   16.32 -      for (TraceDoc::Iterator j = i->doc.ArgsBegin (); j != i->doc.ArgsEnd (); j++)
   16.33 -        {
   16.34 -          os << "argument " << k << "  --  " << j->second << "." << std::endl;
   16.35 -          k++;
   16.36 -        }
   16.37 -      os << std::endl;
   16.38 -    }
   16.39 -}
   16.40 -static void
   16.41 -PrintDoxygenText (const TraceResolver::SourceCollection *sources, std::ostream &os)
   16.42 -{
   16.43 -  uint32_t z = 0;
   16.44 -  for (TraceResolver::SourceCollection::Iterator i = sources->Begin (); i != sources->End (); i++)
   16.45 -    {
   16.46 -      os << "///" << std::endl;
   16.47 -      os << "/// \\ingroup TraceSourceList" << std::endl; 
   16.48 -      os << "/// \\brief " << i->doc.GetHelp () << std::endl;
   16.49 -      os << "/// \\param arg1 the trace context associated to the connected trace source." << std::endl;
   16.50 -      uint32_t j = 2;
   16.51 -      for (TraceDoc::Iterator l = i->doc.ArgsBegin (); l != i->doc.ArgsEnd (); l++)
   16.52 -        {
   16.53 -          os << "/// \\param arg" << j << " " << l->second << "." << std::endl;
   16.54 -          j++;
   16.55 -        }
   16.56 -      os << "///" << std::endl;
   16.57 -      os << "///" << std::endl;
   16.58 -      os << "/// The path to this trace source is: <b><tt>\"" << i->path << "\"</tt></b>." << std::endl;
   16.59 -      os << "///" << std::endl;
   16.60 -      if (i->context.Begin ().IsLast ())
   16.61 -        {
   16.62 -          os << "/// No data can be extracted from \\p arg1 with ns3::TraceContext::GetElement." << std::endl;
   16.63 -        }
   16.64 -      else
   16.65 -        {
   16.66 -          os << "/// The following classes can be extracted from \\p arg1 with " << std::endl;
   16.67 -          os << "/// ns3::TraceContext::GetElement:" << std::endl;
   16.68 -          for (TraceContext::Iterator m = i->context.Begin (); !m.IsLast (); m.Next ())
   16.69 -            {
   16.70 -              os << "///  - " << m.Get () << std::endl;
   16.71 -            }
   16.72 -        }
   16.73 -      os << "void TraceSinkCallback" << z << " (const TraceContext & arg1" ;
   16.74 -      j = 2;
   16.75 -      for (TraceDoc::Iterator k = i->doc.ArgsBegin (); k != i->doc.ArgsEnd (); k++)
   16.76 -        {
   16.77 -          os << ", " << k->first << " arg" << j;
   16.78 -          j++;
   16.79 -        }
   16.80 -      os << ");" << std::endl;
   16.81 -      os << std::endl;
   16.82 -      z++;
   16.83 -    }
   16.84 -}
   16.85  
   16.86  static void
   16.87  PrintOneDefaultValue (DefaultValueBase *value, std::ostream &os)
   16.88 @@ -131,10 +59,6 @@
   16.89    node->AddDevice (csma);
   16.90    csma->AddQueue (CreateObject<DropTailQueue> ());
   16.91  
   16.92 -  TraceResolver::SourceCollection collection;
   16.93 -  //NodeList::GetTraceResolver ()->CollectSources ("", TraceContext (), &collection);
   16.94 -  PrintDoxygenText (&collection, std::cout);
   16.95 -
   16.96  
   16.97    PrintDefaultValuesDoxygen (std::cout);
   16.98