Merge pull request #2216 from jwillemsen/jwi-cxxversionchecks
[ACE_TAO.git] / TAO / examples / RTScheduling / Thread_Task.h
blobcab325d8eff7d0c1a10723a5687f77a7f7eb7f68
1 #ifndef THREAD_TASK_H
2 #define THREAD_TASK_H
4 #include "JobC.h"
5 #include "rtschedtestlib_export.h"
7 #include "tao/RTScheduling/RTScheduler.h"
8 #include "ace/Task.h"
10 class Task_Stats;
11 class DT_Creator;
13 class RTSCHEDTESTLIB_Export Thread_Task : public ACE_Task <ACE_SYNCH>
15 public:
16 Thread_Task ();
18 virtual int activate_task (RTScheduling::Current_ptr current,
19 CORBA::Policy_ptr sched_param,
20 long flags,
21 ACE_Time_Value* base_time) = 0;
23 virtual int perform_task ();
25 int importance ();
27 time_t start_time ();
29 /// = Job get/set
30 /// Returns the name of the Job exec'ed by this Task.
31 const char* job ();
33 /// Sets the Job to exec.
34 void job (Job_ptr job);
36 int dist ();
38 void dump_stats ();
40 protected:
41 /// task svc
42 virtual int svc ();
43 RTScheduling::Current_var current_;
44 CORBA::Policy_var sched_param_;
45 time_t start_time_;
46 int load_;
47 int iter_;
48 size_t count_;
49 int importance_;
50 DT_Creator *dt_creator_;
51 //Task *task_;
52 ACE_Time_Value* base_time_;
53 int dist_;
54 CORBA::String_var job_name_;
55 Job_var job_;
56 Task_Stats *task_stats_;
59 #endif /* THREAD_TASK_H */