keep track of trace source help strings
authorMathieu Lacage <mathieu.lacage@sophia.inria.fr>
Tue, 28 Aug 2007 11:01:00 +0200
changeset 1372 5967e5b2c737
parent 1371 bebf690257c9
child 1373 0c71c081cffc
keep track of trace source help strings
src/core/composite-trace-resolver.cc
src/core/composite-trace-resolver.h
src/core/object.cc
src/core/trace-resolver.cc
src/devices/csma-cd/csma-cd-net-device.cc
src/devices/point-to-point/point-to-point-net-device.cc
src/internet-node/ipv4-l3-protocol.cc
src/mobility/mobility-model-notifier.cc
src/node/queue.cc
--- a/src/core/composite-trace-resolver.cc	Tue Aug 28 09:37:10 2007 +0200
+++ b/src/core/composite-trace-resolver.cc	Tue Aug 28 11:01:00 2007 +0200
@@ -73,13 +73,15 @@
 
 void 
 CompositeTraceResolver::AddSource (std::string name,
-                             TraceSource &trace)
+                                   std::string helpText,
+                                   TraceSource &trace)
 {
-  DoAddSource (name, trace, TraceContext ());
+  DoAddSource (name, helpText, trace, TraceContext ());
 }
 
 void 
 CompositeTraceResolver::DoAddSource (std::string name,
+                                     std::string helpText,
                                      TraceSource &trace, 
                                      const TraceContext &context)
 {
@@ -98,13 +100,15 @@
       TraceContext ctx = context;
       ctx.Union (this->context);
       // XXX help string
-      collection->AddUnique (path, ctx, "");
+      collection->AddUnique (path, ctx, helpText);
     }
     TraceSource *trace;
+    std::string helpText;
   } *item = new SourceCompositeItem ();
   item->name = name;
   item->context = context;
   item->trace = &trace;
+  item->helpText = helpText;
   AddItem (item);
 }
 
@@ -397,7 +401,7 @@
 CompositeTraceResolverTest::CreateSubResolver (void)
 {
   Ptr<CompositeTraceResolver> subresolver = Create<CompositeTraceResolver> ();
-  subresolver->AddSource ("trace-int", m_traceInt, 
+  subresolver->AddSource ("trace-int", "test source", m_traceInt, 
                           SubTraceSourceTest (SubTraceSourceTest::INT));
   return subresolver;
 }
@@ -412,9 +416,9 @@
 
   CompositeTraceResolver resolver;
 
-  resolver.AddSource ("trace-double-a", traceDoubleA, 
+  resolver.AddSource ("trace-double-a", "test source", traceDoubleA, 
                       TraceSourceTest (TraceSourceTest::DOUBLEA));
-  resolver.AddSource ("trace-double-b", traceDoubleB, 
+  resolver.AddSource ("trace-double-b", "test source", traceDoubleB, 
                       TraceSourceTest (TraceSourceTest::DOUBLEB));
 
   resolver.Connect ("/*", MakeCallback (&CompositeTraceResolverTest::TraceDouble, this), TraceContext ());
@@ -547,7 +551,7 @@
 
   SVTraceSource<uint16_t> source;
 
-  resolver.AddSource ("uint16_t", source, TraceSourceTest (TraceSourceTest::UINT16_T));
+  resolver.AddSource ("uint16_t", "test source", source, TraceSourceTest (TraceSourceTest::UINT16_T));
   
 
   return ok;
--- a/src/core/composite-trace-resolver.h	Tue Aug 28 09:37:10 2007 +0200
+++ b/src/core/composite-trace-resolver.h	Tue Aug 28 11:01:00 2007 +0200
@@ -53,7 +53,7 @@
    * be automatically extended to contain the input context.
    */
   template <typename T>
-  void AddSource (std::string name,
+  void AddSource (std::string name, std::string helpText,
                   TraceSource &trace, T const &context);
   /**
    * \param name name of trace source
@@ -64,18 +64,8 @@
    * resolution.
    */
   void AddSource (std::string name,
+                  std::string helpText,
                   TraceSource &trace);
-  /**
-   * \param name name of child trace resolver
-   * \param createResolver a trace resolver constructor
-   *
-   * Add a child trace resolver to this resolver. This child
-   * trace resolver will match the name specified during
-   * namespace resolution. When this happens, the constructor
-   * will be invoked to create the child trace resolver.
-   */
-  void Add (std::string name, 
-            Callback<Ptr<TraceResolver> > createResolver);
 
   void AddChild (std::string name, Ptr<Object> child);
 
@@ -95,6 +85,7 @@
                                SourceCollection *collection);
 
 private:
+  friend class CompositeTraceResolverTest;
   class CompositeItem 
   {
   public:
@@ -123,8 +114,12 @@
                                       const Operation &operation);
   void DoAddChild (std::string name, Ptr<Object> child, const TraceContext &context);
   void DoAddSource (std::string name,
+                    std::string helpText,
                     TraceSource &trace,
                     const TraceContext &context);
+  void Add (std::string name, 
+            Callback<Ptr<TraceResolver> > createResolver);
+
 
   CompositeTraceResolver::TraceItems m_items;
   Ptr<TraceResolver> m_parent;
@@ -139,12 +134,13 @@
 template <typename T>
 void 
 CompositeTraceResolver::AddSource (std::string name,
+                                   std::string helpText,
                                    TraceSource &trace, 
                                    T const &context)
 {
   TraceContext ctx;
   ctx.AddElement (context);
-  DoAddSource (name, trace, ctx);  
+  DoAddSource (name, helpText, trace, ctx);  
 }
 
 template <typename ITERATOR, typename INDEX>
--- a/src/core/object.cc	Tue Aug 28 09:37:10 2007 +0200
+++ b/src/core/object.cc	Tue Aug 28 11:01:00 2007 +0200
@@ -346,7 +346,7 @@
   {
     ns3::Ptr<ns3::CompositeTraceResolver> resolver = 
       ns3::Create<ns3::CompositeTraceResolver> ();
-    resolver->AddSource ("basea-x", m_source);
+    resolver->AddSource ("basea-x", "test source", m_source);
     resolver->SetParent (Object::GetTraceResolver ());
     return resolver;
   }
@@ -370,7 +370,7 @@
   {
     ns3::Ptr<ns3::CompositeTraceResolver> resolver = 
       ns3::Create<ns3::CompositeTraceResolver> ();
-    resolver->AddSource ("deriveda-x", m_sourceDerived);
+    resolver->AddSource ("deriveda-x", "test source", m_sourceDerived);
     resolver->SetParent (BaseA::GetTraceResolver ());
     return resolver;
   }
@@ -397,7 +397,7 @@
   {
     ns3::Ptr<ns3::CompositeTraceResolver> resolver = 
       ns3::Create<ns3::CompositeTraceResolver> ();
-    resolver->AddSource ("baseb-x", m_source);
+    resolver->AddSource ("baseb-x", "test source", m_source);
     resolver->SetParent (Object::GetTraceResolver ());
     return resolver;
   }
@@ -421,7 +421,7 @@
   {
     ns3::Ptr<ns3::CompositeTraceResolver> resolver = 
       ns3::Create<ns3::CompositeTraceResolver> ();
-    resolver->AddSource ("derivedb-x", m_sourceDerived);
+    resolver->AddSource ("derivedb-x", "test source", m_sourceDerived);
     resolver->SetParent (BaseB::GetTraceResolver ());
     return resolver;
   }
--- a/src/core/trace-resolver.cc	Tue Aug 28 09:37:10 2007 +0200
+++ b/src/core/trace-resolver.cc	Tue Aug 28 11:01:00 2007 +0200
@@ -99,9 +99,12 @@
 {
   for (SourceVector::const_iterator i = m_sources.begin (); i != m_sources.end (); i++)
     {
-      os << i->path << " [";
+      os << "source=" << i->path << std::endl;
+      os << "TraceContextElement=";
       i->context.PrintAvailable (os, " ");
-      os << "] " << i->help << std::endl;
+      os << std::endl;
+      os << i->help << std::endl;
+      os << std::endl;
     }
 }
 
--- a/src/devices/csma-cd/csma-cd-net-device.cc	Tue Aug 28 09:37:10 2007 +0200
+++ b/src/devices/csma-cd/csma-cd-net-device.cc	Tue Aug 28 11:01:00 2007 +0200
@@ -460,9 +460,11 @@
   Ptr<CompositeTraceResolver> resolver = Create<CompositeTraceResolver> ();
   resolver->AddChild ("queue", m_queue);
   resolver->AddSource ("rx",
+                       "receive MAC packet",
                        m_rxTrace,
                        CsmaCdTraceType (CsmaCdTraceType::RX));
   resolver->AddSource ("drop",
+                       "drop MAC packet",  
                        m_dropTrace,
                        CsmaCdTraceType (CsmaCdTraceType::DROP));
   resolver->SetParent (NetDevice::GetTraceResolver ());
--- a/src/devices/point-to-point/point-to-point-net-device.cc	Tue Aug 28 09:37:10 2007 +0200
+++ b/src/devices/point-to-point/point-to-point-net-device.cc	Tue Aug 28 11:01:00 2007 +0200
@@ -199,6 +199,7 @@
   Ptr<CompositeTraceResolver> resolver = Create<CompositeTraceResolver> ();
   resolver->AddChild ("queue", m_queue);
   resolver->AddSource ("rx",
+                       "receive MAC packet",
                        m_rxTrace,
                        PointToPointTraceType ());
   resolver->SetParent (NetDevice::GetTraceResolver ());
--- a/src/internet-node/ipv4-l3-protocol.cc	Tue Aug 28 09:37:10 2007 +0200
+++ b/src/internet-node/ipv4-l3-protocol.cc	Tue Aug 28 11:01:00 2007 +0200
@@ -162,9 +162,12 @@
 Ipv4L3Protocol::GetTraceResolver (void)
 {
   Ptr<CompositeTraceResolver> resolver = Create<CompositeTraceResolver> ();
-  resolver->AddSource ("tx", m_txTrace, Ipv4L3ProtocolTraceContextElement(Ipv4L3ProtocolTraceContextElement::TX));
-  resolver->AddSource ("rx", m_rxTrace, Ipv4L3ProtocolTraceContextElement(Ipv4L3ProtocolTraceContextElement::RX));
-  resolver->AddSource ("drop", m_dropTrace, Ipv4L3ProtocolTraceContextElement (Ipv4L3ProtocolTraceContextElement::DROP));
+  resolver->AddSource ("tx", "send ipv4 packet to outgoing interface",
+                       m_txTrace, Ipv4L3ProtocolTraceContextElement(Ipv4L3ProtocolTraceContextElement::TX));
+  resolver->AddSource ("rx", "receive ipv4 packet from incoming interface",
+                       m_rxTrace, Ipv4L3ProtocolTraceContextElement(Ipv4L3ProtocolTraceContextElement::RX));
+  resolver->AddSource ("drop", "drop ipv4 packet",
+                       m_dropTrace, Ipv4L3ProtocolTraceContextElement (Ipv4L3ProtocolTraceContextElement::DROP));
   resolver->AddArray ("interfaces", 
                       m_interfaces.begin (), m_interfaces.end (), 
                       Ipv4L3ProtocolInterfaceIndex ());
--- a/src/mobility/mobility-model-notifier.cc	Tue Aug 28 09:37:10 2007 +0200
+++ b/src/mobility/mobility-model-notifier.cc	Tue Aug 28 11:01:00 2007 +0200
@@ -44,7 +44,8 @@
 {
   Ptr<CompositeTraceResolver> resolver = 
     Create<CompositeTraceResolver> ();
-  resolver->AddSource ("course-change", m_trace);
+  resolver->AddSource ("course-change", "speed vector changed value",
+                       m_trace);
   return resolver;
 }
 
--- a/src/node/queue.cc	Tue Aug 28 09:37:10 2007 +0200
+++ b/src/node/queue.cc	Tue Aug 28 11:01:00 2007 +0200
@@ -103,9 +103,12 @@
 Queue::GetTraceResolver (void)
 {
   Ptr<CompositeTraceResolver> resolver = Create<CompositeTraceResolver> ();
-  resolver->AddSource ("enqueue", m_traceEnqueue, QueueTraceType (QueueTraceType::ENQUEUE));
-  resolver->AddSource ("dequeue", m_traceDequeue, QueueTraceType (QueueTraceType::DEQUEUE));
-  resolver->AddSource ("drop", m_traceDrop, QueueTraceType (QueueTraceType::DROP));
+  resolver->AddSource ("enqueue", "store packet in queue",
+                       m_traceEnqueue, QueueTraceType (QueueTraceType::ENQUEUE));
+  resolver->AddSource ("dequeue", "remove packet from queue",  
+                       m_traceDequeue, QueueTraceType (QueueTraceType::DEQUEUE));
+  resolver->AddSource ("drop", "drop packet from queue", 
+                       m_traceDrop, QueueTraceType (QueueTraceType::DROP));
   resolver->SetParent (Object::GetTraceResolver ());
   return resolver;
 }