#ifndef DOCT_SYSINFO_TASK_RUNNER_H
#define DOCT_SYSINFO_TASK_RUNNER_H
#include "task_result.hpp"
#include "sysinfo_task.hpp"
#include "system_info.hpp"
#include <string>
namespace doWhile::doct
{
class SystemInfoTaskRunner
{
public:
SystemInfoTaskRunner() = delete;
/**
* \brief Fetches and reports the system information for the given host
*
* \param task A SystemInfpTask to run
* \param collector The Collector to run the task on
* \return Results of running the task, format depends on task type
*/
static TaskResult runTask(std::shared_ptr<data::SysInfoTask> task, ext_tools::SystemInfo* systemInfo);
private:
static std::string humanise(long input);
static std::string getHosname(ext_tools::SystemInfo* systemInfo);
};
}
#endif // DOCT_SYSINFO_TASK_RUNNER_H