mirror-ac/user/um/manager.h

33 lines
628 B
C
Raw Normal View History

2023-08-16 12:47:09 +02:00
#ifndef MANAGER_H
#define MANAGER_H
2023-08-15 14:02:17 +02:00
#include <string>
2023-08-16 11:28:46 +02:00
#include <winternl.h>
2023-08-15 14:02:17 +02:00
#include <Windows.h>
2023-08-16 11:28:46 +02:00
#include <mutex>
#include <thread>
#include <vector>
2023-08-15 14:02:17 +02:00
2023-08-16 11:28:46 +02:00
#include "process.h"
namespace usermode
2023-08-15 14:02:17 +02:00
{
2023-08-16 12:47:09 +02:00
/*
* The manager class is meant to abstract away the interaction between the Process
* class and the threadpool class to allow a single thread (or multiple) to easily run
* the core business logic of running tasks in a certain order.
*/
2023-08-15 14:02:17 +02:00
class Manager
{
std::string process_name;
2023-08-16 11:28:46 +02:00
std::unique_ptr<Process> process;
2023-08-15 14:02:17 +02:00
public:
Manager( std::string ProcessName );
2023-08-16 11:28:46 +02:00
~Manager();
void ValidateProcessThreads();
2023-08-15 14:02:17 +02:00
};
}
#endif