#ifndef PROCESS_LIBPROCESS_EXT_INCLUDE_NODE_CHECKER_HPP #define PROCESS_LIBPROCESS_EXT_INCLUDE_NODE_CHECKER_HPP #include #include "node_statistic.hpp" #include namespace process::controller { class NodeOSInterface; class NodeCheckerCallback { public: virtual void on_node_statistic_changed(const ::process::controller::NodeStatistic& ps) = 0; }; class NodeChecker : public WatchdogChecker { public: //TODO default OSInterface in constructor, here should be nullptr if there are include problems/forward declare? NodeChecker(std::shared_ptr cb, std::shared_ptr interface = nullptr); void check() override; protected: std::shared_ptr m_interface; ::process::controller::NodeStatistic m_stat; }; } #endif