#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