Cucumber/include/Tier1/IScheduler.h

20 lines
587 B
C++

#ifndef __ISCHEDULER_H__
#define __ISCHEDULER_H__
#include "Tier1/CTask.h"
#include "Tier1/CSemaphore.h"
namespace cb {
class IScheduler {
public:
virtual void Enable(bool Enabled) = 0;
virtual void AddTask(CTask *Task) = 0;
virtual void NextTask(u32 edi, u32 esi, u32 ebp, u32 esp, u32 ebx, u32 edx, u32 ecx, u32 eax, u32 eip) = 0;
virtual CTask *GetCurrentTask(void) = 0;
virtual void SetSemaphoreAvailable(CSemaphore *Semaphore) = 0;
virtual void PrioritizeTask(CTask *Task) = 0;
};
};
#endif