#ifndef UMANAGER_H #define UMANAGER_H #include #include #include #include #include #include #include "../report.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; std::shared_ptr thread_pool; public: UManager( std::shared_ptr ThreadPool, std::shared_ptr ReportInterface ); ~UManager(); void ValidateProcessThreads(); void ValidateProcessMemory(); void ValidateProcessModules(); }; } #endif