Index: trunk/FACT++/src/RemoteControl.h
===================================================================
--- trunk/FACT++/src/RemoteControl.h	(revision 13671)
+++ trunk/FACT++/src/RemoteControl.h	(revision 13672)
@@ -56,4 +56,5 @@
 #include "ReadlineColor.h"
 #include "tools.h"
+#include "MainImp.h"
 
 template <class T>
@@ -63,5 +64,5 @@
     MessageImp *fImp;
 
-    int32_t fLabel;
+    void SetSection(int s) { fImp->Write(Time(), "", s); }
 
     int Write(const Time &time, const std::string &txt, int qos=kMessage)
@@ -69,4 +70,6 @@
         return fImp ? fImp->Write(time, txt, qos) : MessageImp::Write(time, txt, qos);
     }
+
+    void exitHandler(int code) { if (dynamic_cast<MainImp*>(fImp)) dynamic_cast<MainImp*>(fImp)->Stop(code); else exit(code); }
 
     static void append(std::string &str)
@@ -127,5 +130,5 @@
     // Redirect asynchronous output to the output window
     RemoteControl(const char *name) : T(name),
-        RemoteControlImp(T::GetStreamOut(), T::GetStreamIn()), fImp(0), fLabel(-1)
+        RemoteControlImp(T::GetStreamOut(), T::GetStreamIn()), fImp(0)
     {
     }
@@ -261,4 +264,18 @@
 
 // **************************************************************************
+/** @class RemoteStream
+
+ */
+// **************************************************************************
+#include "Console.h"
+
+class RemoteStream : public RemoteControl<ConsoleStream>
+{
+public:
+    RemoteStream(const char *name, bool null = false)
+        : RemoteControl<ConsoleStream>(name) { SetNullOutput(null); }
+};
+
+// **************************************************************************
 /** @class RemoteConsole
 
@@ -271,5 +288,4 @@
  */
 // **************************************************************************
-#include "Console.h"
 
 class RemoteConsole : public RemoteControl<Console>
