2021-03-21 16:20:13 +01:00
|
|
|
#include <map>
|
2022-02-02 10:29:30 +01:00
|
|
|
#include <thread>
|
|
|
|
|
|
|
|
#include "../../tasks/TaskFactory.h"
|
2021-03-21 16:20:13 +01:00
|
|
|
|
|
|
|
#ifdef _WIN32
|
|
|
|
|
|
|
|
namespace tasks {
|
|
|
|
|
2022-02-02 10:29:30 +01:00
|
|
|
enum PriorityClass : uint16_t {
|
|
|
|
CLASS_IDLE,
|
|
|
|
CLASS_BELOW_NORMAL,
|
|
|
|
CLASS_NORMAL,
|
|
|
|
CLASS_ABOVE_NORMAL,
|
|
|
|
CLASS_HIGH,
|
|
|
|
CLASS_REALTIME
|
2021-03-21 16:20:13 +01:00
|
|
|
};
|
2022-02-02 10:29:30 +01:00
|
|
|
enum PriorityNumber : uint16_t {
|
|
|
|
IDLE,
|
|
|
|
LOWEST,
|
|
|
|
BELOW_NORMAL,
|
|
|
|
NORMAL,
|
|
|
|
ABOVE_NORMAL,
|
|
|
|
HIGHEST,
|
|
|
|
CRITICAL
|
2021-03-21 16:20:13 +01:00
|
|
|
};
|
|
|
|
TaskPriority makeWinPriority(PriorityClass prioClass = PriorityClass::CLASS_NORMAL,
|
2022-02-02 10:29:30 +01:00
|
|
|
PriorityNumber prioNumber = PriorityNumber::NORMAL);
|
|
|
|
void getWinPriorityParameters(TaskPriority priority, DWORD& priorityClass, int& priorityNumber);
|
2021-03-21 16:20:13 +01:00
|
|
|
|
|
|
|
ReturnValue_t setTaskPriority(HANDLE nativeHandle, TaskPriority priority);
|
|
|
|
|
2022-02-02 10:29:30 +01:00
|
|
|
} // namespace tasks
|
2021-03-21 16:20:13 +01:00
|
|
|
|
|
|
|
#endif
|