Go to the documentation of this file.00001 #ifndef _ACS_THREAD_TEST_H
00002 #define _ACS_THREAD_TEST_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #include "acsThread.h"
00028
00029
00030 class TestACSThread :public ACS::Thread
00031 {
00032 public:
00033 TestACSThread(const ACE_CString& name,
00034 const ACS::TimeInterval& responseTime=ThreadBase::defaultResponseTime,
00035 const ACS::TimeInterval& sleepTime=ThreadBase::defaultSleepTime,
00036 bool del=false
00037 ) :
00038 ACS::Thread(name, responseTime, sleepTime, del)
00039 {
00040 ACS_TRACE("TestACSThread::TestACSThread");
00041 loopCounter_m = 0;
00042 }
00043
00044 TestACSThread(const ACE_CString& name,
00045 const ACS::TimeInterval& responseTime,
00046 const ACS::TimeInterval& sleepTime,
00047 bool del,
00048 const long _thrFlags
00049 ) :
00050 ACS::Thread(name, responseTime, sleepTime, del, _thrFlags)
00051 {
00052 ACS_TRACE("TestACSThread::TestACSThread");
00053 loopCounter_m = 0;
00054 }
00055
00074 ~TestACSThread()
00075 {
00076 ACS_TRACE("TestACSThread::~TestACSThread");
00077
00078 terminate();
00079 }
00080
00085 virtual void runLoop()
00086 {
00087 if (loopCounter_m==10)
00088 {
00089 exit();
00090 }
00091
00092 ACS_LOG(LM_SOURCE_INFO,
00093 "TestACSThread::runLoop",
00094 (LM_INFO, "%s: runLoop (%d)", getName().c_str(), loopCounter_m));
00095 ++ loopCounter_m;
00096 }
00097
00098 protected:
00099 int loopCounter_m;
00100
00101 };
00102
00103 #endif