00001 #ifndef TessToolConsole_H
00002 #define TessToolConsole_H
00003
00004 #include <string>
00005 #include <cc++/thread.h>
00006 #include <iterator>
00007 #include <sstream>
00008 #include <fstream>
00009
00010 #include <CliOutputReceiveThread.h>
00011
00012 #ifdef CCXX_NAMESPACES
00013 using namespace std;
00014 using namespace ost;
00015 #endif
00016
00017 namespace BIE {
00018
00019
00020 class TessToolController;
00022 class ConsoleLogThread: public Thread {
00023 public:
00024 ConsoleLogThread(CliOutputReceiveThread *rcvthrd);
00025 ~ConsoleLogThread();
00026 void run();
00027 void setController(TessToolController *controller);
00028
00029 private:
00030 ofstream _console;
00031 Semaphore *_producer;
00032 Semaphore *_consumer;
00033 CliOutputReceiveThread *_clircvthrd;
00034 bool work;
00035 TessToolController *_controller;
00036 };
00037
00038 }
00039 #endif