19 #ifndef __XRD_CL_TASK_MANAGER_HH__
20 #define __XRD_CL_TASK_MANAGER_HH__
47 virtual time_t
Run( time_t now ) = 0;
130 TaskHelper(
Task *tsk, time_t tme,
bool ow =
true ):
131 task(tsk), execTime(tme), own(ow) {}
139 bool operator () (
const TaskHelper &th1,
const TaskHelper &th2 )
const
141 return th1.execTime < th2.execTime;
145 typedef std::multiset<TaskHelper, TaskHelperCmp> TaskSet;
146 typedef std::list<Task*> TaskList;
151 uint16_t pResolution;
153 TaskList pToBeUnregistered;
154 pthread_t pRunnerThread;
void RegisterTask(Task *task, time_t time, bool own=true)
void RunTasks()
Run the tasks - this loops infinitely.
TaskManager()
Constructor.
bool Start()
Start the manager.
~TaskManager()
Destructor.
void UnregisterTask(Task *task)
Interface for a task to be run by the TaskManager.
virtual time_t Run(time_t now)=0
const std::string & GetName() const
Name of the task.
void SetName(const std::string &name)
Set name of the task.