00001 /****************************************************************************** 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 00008 00009 #pragma once 00010 00011 #include "lgrCore.h" 00012 00013 #include "absoluteTime.h" 00014 #include "logger.h" 00015 #include "virtualConstructor.h" 00016 #include <vlutil/vlRunnable.h> 00017 00018 namespace MAKLogger 00019 { 00020 00025 class DT_DLL_LGRCORE DtThreadedLogger : public DtLogger, public DtRunnable 00026 { 00027 public: 00028 00030 DT_VIRTUAL_CTR(DtThreadedLogger,()) 00031 00032 00033 virtual ~DtThreadedLogger(); 00034 00036 virtual void run(); 00037 00039 virtual void stop(); 00040 00042 virtual bool isRunning() const; 00043 00044 protected: 00045 00047 virtual void setRunning(bool flag); 00048 00051 volatile bool myRunningFlag; 00052 00053 }; 00054 00056 typedef DtBoost::shared_ptr<DtThreadedLogger> DtThreadedLoggerSP; 00057 00058 } 00059 00060