mirror of
https://github.com/donnaskiez/ac.git
synced 2024-11-21 22:24:08 +01:00
37 lines
No EOL
817 B
C++
37 lines
No EOL
817 B
C++
#ifndef UMANAGER_H
|
|
#define UMANAGER_H
|
|
|
|
#include <string>
|
|
#include <winternl.h>
|
|
#include <Windows.h>
|
|
#include <mutex>
|
|
#include <thread>
|
|
#include <vector>
|
|
|
|
#include "..\client.h"
|
|
|
|
#include "process.h"
|
|
|
|
namespace usermode
|
|
{
|
|
/*
|
|
* 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.
|
|
*/
|
|
class UManager
|
|
{
|
|
std::unique_ptr<Process> process;
|
|
std::shared_ptr<global::ThreadPool> thread_pool;
|
|
|
|
public:
|
|
UManager( std::shared_ptr<global::ThreadPool> ThreadPool, std::shared_ptr<global::Client> ReportInterface );
|
|
~UManager();
|
|
|
|
void ValidateProcessThreads();
|
|
void ValidateProcessMemory();
|
|
void ValidateProcessModules();
|
|
};
|
|
}
|
|
|
|
#endif |