#ifndef EXECUTIONMANAGER_H #define EXECUTIONMANAGER_H #include #include #include #include #include "appinfo.h" #include "log.h" class ExecutionManager { bool finished = false; int threads; int index_count = 0; int initial_list_size = 0; long long int log_file_max_size = 0; std::string log_dir; std::mutex job_list_mutex; std::atomic state_change = 0; std::atomic active_thread_count = 0; std::vector> thread_list; std::vector> job_list; Log log_file; public: ExecutionManager(int threads=16); void setLogFile(const Log &other); void setLogFileMaxSize(long long int size); void setLogDirectoy(std::string log_dir); void setJobs(std::vector>& job_list); void run(); }; #endif // EXECUTIONMANAGER_H