Cucumber/include/Tier1/IScheduler.h

20 lines
587 B
C
Raw Normal View History

2011-04-14 19:43:46 +00:00
#ifndef __ISCHEDULER_H__
#define __ISCHEDULER_H__
#include "Tier1/CTask.h"
2011-05-03 11:59:20 +00:00
#include "Tier1/CSemaphore.h"
2011-04-14 19:43:46 +00:00
namespace cb {
class IScheduler {
public:
virtual void Enable(bool Enabled) = 0;
virtual void AddTask(CTask *Task) = 0;
2011-06-27 15:59:54 +00:00
virtual void NextTask(u32 edi, u32 esi, u32 ebp, u32 esp, u32 ebx, u32 edx, u32 ecx, u32 eax, u32 eip) = 0;
2011-04-14 19:43:46 +00:00
virtual CTask *GetCurrentTask(void) = 0;
2011-05-08 15:16:00 +00:00
virtual void SetSemaphoreAvailable(CSemaphore *Semaphore) = 0;
2011-06-27 15:59:54 +00:00
virtual void PrioritizeTask(CTask *Task) = 0;
2011-04-14 19:43:46 +00:00
};
};
#endif