Index: trunk/FACT++/src/fscctrl.cc
===================================================================
--- trunk/FACT++/src/fscctrl.cc	(revision 11112)
+++ trunk/FACT++/src/fscctrl.cc	(revision 11115)
@@ -37,4 +37,7 @@
 
     bool fIsVerbose;
+    bool fDump;
+
+    ofstream fDumpStream;
 
 protected:
@@ -68,4 +71,22 @@
     }
 */
+
+    void Dump(const string &str)
+    {
+	if (!fDumpStream.is_open())
+	{
+	    fDumpStream.open("socket_dump-fsc.txt", ios::app);
+            if (!fDumpStream)
+            {
+                //ostringstream str;
+                //str << "Open file " << name << ": " << strerror(errno) << " (errno=" << errno << ")";
+                //Error(str);
+
+                return;
+            }
+        }
+
+        fDumpStream << str << endl;
+    }
 
 private:
@@ -93,5 +114,5 @@
 
         if (fIsVerbose)
-           Out() << kBold << "Received:" << endl;
+           Out() << kBold << "Received (" << bytes_received << " bytes):" << endl;
 
         /*
@@ -124,5 +145,14 @@
         const unsigned int HUMI_OFF = 110;
         const unsigned int TEMP_OFF = 134;
-*/
+	*/
+
+	if (fDump)
+	{
+	    ostringstream msg;
+	    msg << "--- " << Time().GetAsStr() << " --- received " << bytes_received << " bytes.";
+            Dump(msg.str());
+	}
+
+
         istream is(&fBuffer);
 
@@ -140,4 +170,6 @@
             if (fIsVerbose)
                 Out() << buffer << endl;
+	    if (fDump)
+                Dump(buffer);
 
             buffer = Tools::Trim(buffer);
@@ -269,5 +301,5 @@
 public:
     ConnectionFSC(ba::io_service& ioservice, MessageImp &imp) : Connection(ioservice, imp()),
-        fIsVerbose(true)
+        fIsVerbose(true), fDump(false)
     {
         SetLogStream(&imp);
@@ -277,4 +309,9 @@
     {
         fIsVerbose = b;
+    }
+
+    void SetDumpStream(bool b)
+    {
+        fDump = b;
     }
 };
@@ -423,4 +460,14 @@
     }
 
+    int SetDumpStream(const EventImp &evt)
+    {
+        if (!CheckEventSize(evt.GetSize(), "SetDumpStream", 1))
+            return T::kSM_FatalError;
+
+        fFSC.SetDumpStream(evt.GetBool());
+
+        return T::GetCurrentState();
+    }
+
 public:
     StateMachineFSC(ostream &out=cout) :
@@ -443,8 +490,13 @@
 
         // Verbosity commands
-        T::AddEvent("SET_VERBOSE", "B")
+        T::AddEvent("SET_VERBOSE", "B:1")
             (boost::bind(&StateMachineFSC::SetVerbosity, this, _1))
             ("set verbosity state"
              "|verbosity[bool]:disable or enable verbosity for received data (yes/no), except dynamic data");
+
+        T::AddEvent("DUMP_STREAM", "B:1")
+            (boost::bind(&StateMachineFSC::SetDumpStream, this, _1))
+            (""
+             "");
 
         // Conenction commands
