LRT14  1.0
 All Classes Namespaces Functions Variables Enumerations Enumerator
AsyncProcess.h
1 #ifndef ASYNC_PROCESS_H_
2 #define ASYNC_PROCESS_H_
3 
4 #include <WPILib.h>
5 #include <sysLib.h>
6 
7 #include <Rhesus/Toolkit/Defines.h>
8 
13 {
14 public:
15  AsyncProcess(const char* taskName, INT32 priority=Task::kDefaultPriority);
16  virtual ~AsyncProcess();
17 
18  void Start();
19  void Abort(int code=0, double waitSeconds=0);
20 
21  bool IsRunning();
22 protected:
23  virtual void preTick();
24  virtual void Tick() = 0;
25  bool m_isRunning;
26 private:
27  static void _TASK_ENTRY(void* asyncProcessInstance);
28 
29  Task* m_task;
30 
31  SEM_ID m_quittingSem;
32 };
33 
34 #endif