LRT13  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 "../Utils/Defines.h"
8 
15 {
16 public:
17  AsyncProcess(const char * taskName, INT32 priority=Task::kDefaultPriority);
18  virtual ~AsyncProcess();
19 
20  void Start();
21  void Abort(int code=0, double waitSeconds=0);
22 
23  bool IsRunning();
24 protected:
25  virtual void preTick();
26  virtual INT32 Tick() = 0;
27  bool m_isRunning;
28 private:
29  static void _TASK_ENTRY(void* asyncProcessInstance);
30 
31  Task* m_task;
32 
33  SEM_ID m_quittingSem;
34 };
35 
36 #endif