From a0b5c3bc1b3df20cfc1b84f6d354f211ccb01a3d Mon Sep 17 00:00:00 2001
From: Mansard <nmansard@laas.fr>
Date: Wed, 2 Feb 2011 12:21:28 +0100
Subject: [PATCH] Put back the dirty removal of Florent.

---
 include/dynamic-graph/tracer.h |  2 ++
 src/traces/tracer.cpp          | 23 +++++++++++++++--------
 2 files changed, 17 insertions(+), 8 deletions(-)

diff --git a/include/dynamic-graph/tracer.h b/include/dynamic-graph/tracer.h
index c335820a..a56d627b 100644
--- a/include/dynamic-graph/tracer.h
+++ b/include/dynamic-graph/tracer.h
@@ -73,6 +73,8 @@ namespace dynamicgraph
 
     void addSignalToTrace( const SignalBase<int>& sig,
 			   const std::string& filename="" );
+    void addSignalToTraceByName( const std::string& signame,
+				 const std::string& filename="" );
     void clearSignalToTrace  ();
     //void parasite( SignalBase<int>& sig );
     void openFiles( const std::string& rootdir, const std::string& basename,
diff --git a/src/traces/tracer.cpp b/src/traces/tracer.cpp
index 59e30494..23dfa18c 100644
--- a/src/traces/tracer.cpp
+++ b/src/traces/tracer.cpp
@@ -75,6 +75,17 @@ addSignalToTrace( const SignalBase<int>& sig,
   dgDEBUGOUT(15);
 }
 
+void Tracer::
+addSignalToTraceByName( const string& signame,
+			const string& filename )
+{
+  dgDEBUGIN(15);
+  istringstream iss( signame );
+  SignalBase<int> &sig = g_pool.getSignal(iss);
+  addSignalToTrace(sig,filename);
+  dgDEBUGOUT(15);
+}
+
 /*! Empty the list of signals to trace. This function
  * does not modify the file list (it does not close
  * the files in particular.
@@ -263,6 +274,10 @@ commandLine( const std::string& cmdLine
     }
   else if( cmdLine=="add" )
     {
+      SignalBase<int> &sig = g_pool.getSignal(cmdArgs);
+      string r; cmdArgs>>ws>>r;
+      addSignalToTrace(sig,r);
+      dgDEBUG(14)<<"Add <" <<sig.getName ()<<"> with nick \""<<r<<"\""<<endl;
     }
   else if( cmdLine=="clear" )
     { closeFiles (); toTraceSignals.clear (); }
@@ -279,7 +294,6 @@ commandLine( const std::string& cmdLine
 	    }
 	}
 
-      //>>r>>s;
       dgDEBUGF( 15,"Close files.");
       closeFiles ();
       dgDEBUGF( 15,"Open files \"%s\" \"%s\" \"%s\".",
@@ -290,15 +304,8 @@ commandLine( const std::string& cmdLine
   else if( cmdLine=="trace" ) { trace (); }
   else if( cmdLine=="record" )
     {
-      //unsigned int t;
-      //cmdArgs >> ws>>t; if(! cmdArgs.good () ) t=0;
       record ();
     }
-//   else if( cmdLine=="parasite" )
-//     {
-//        SignalBase<int> &sig = g_pool.getSignal( cmdArgs );
-//        parasite(sig);
-//     }
   else if( cmdLine == "start" )    {  play=true; }
   else if( cmdLine == "stop" )    {  play=false; }
   else if( cmdLine == "timeStart" )
-- 
GitLab