Go to the documentation of this file.00001
00019 #ifndef COIL_TASK_H
00020 #define COIL_TASK_H
00021
00022 #include <windows.h>
00023 #include <process.h>
00024
00025
00026 namespace coil
00027 {
00041 class Task
00042 {
00043 public:
00059 Task();
00060
00076 virtual ~Task();
00077
00097 virtual int open(void* args = 0);
00098
00118 virtual int close(unsigned long flags = 0);
00119
00135 virtual int svc();
00136
00152 virtual void activate();
00153
00169 virtual int wait(void);
00170
00186 virtual int suspend(void);
00187
00203 virtual int resume(void);
00204
00220 virtual void reset();
00221
00237 virtual void finalize();
00238
00258 static unsigned int WINAPI svc_run(void* args = 0);
00259
00260 private:
00261 int m_count;
00262 HANDLE m_thread;
00263 };
00264 };
00265
00266 #endif // COIL_TASK_H