50 #ifndef _LAE_THREAD_ASYNC_H 51 #define _LAE_THREAD_ASYNC_H 53 #include <sys/types.h> 60 #include "rnr/rnrconfig.h" 118 virtual void start();
232 int nPriority = ThreadAsyncPrioDft);
250 virtual int runThread(
const double fHz = ThreadAsyncHzDft);
262 virtual int terminateThread();
290 virtual void transToReady();
305 virtual void transToRunning();
330 virtual void transToExit();
337 #endif // _LAE_THREAD_ASYNC_H JobState getState()
Get the current job state.
Laelaps thread base class interface.
virtual ~LaeAsyncJob()
Destructor.
bool isDone()
Test if job has completed or should be aborted.
static const int LAE_ECODE_INTR
operation interrupted
virtual void abort(int rc=-LAE_ECODE_INTR)
Abort the job.
LaeAsyncJob * getJob()
Get attached job.
virtual void start()
Start.
The <b><i>Laelaps</i></b> namespace encapsulates all <b><i>Laelaps</i></b> related constructs...
virtual void getReady()
Get ready to run.
JobState m_eJobState
job state
int m_nJobRc
job return code
Laelaps common utilities.
Asynchronous job base class.
job attached to thread and ready to run
virtual void terminate()
Terminate the job normally.
int getRc()
Get job's return code.
static const double ThreadAsyncPrioDft
default priority
LaeAsyncJob * m_pJob
attached asynchronous job - owned by caller
std::string m_strJobName
job name
job created, but not attached to thread
LaeAsyncJob(const std::string strJobName="Job")
Default constructor.
static const double ThreadAsyncHzDft
default run rate
std::string getJobName()
Get the name of the job.
static const char *const ThreadAsyncNameDft
default name
virtual int run()
Run the job.
bool m_bIsDone
job is [not] done
Top-level package include file.