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