blob: 850237d1c368e25e3fdaf846af2d8c25b0137358 [file] [log] [blame]
#pragma once
#include "boot_manager.hpp"
#include "dbus_handler.hpp"
#include "utils.hpp"
#include <sdbusplus/bus.hpp>
#include <sdbusplus/bus/match.hpp>
#include <sdbusplus/server/manager.hpp>
#include <memory>
#include <string_view>
namespace boot_time_monitor
{
class HostMonitorApp
{
public:
HostMonitorApp(sdbusplus::bus::bus& bus, uint32_t hostNum);
private:
const std::string kNodeName;
const std::string kObjPath;
sdbusplus::server::manager::manager objManager;
std::unique_ptr<sdbusplus::bus::match::match> hostStateWatcher;
std::unique_ptr<sdbusplus::bus::match::match> osStatusWatcher;
std::shared_ptr<Util> util;
std::shared_ptr<FileUtil> cpCSV;
std::shared_ptr<FileUtil> durCSV;
std::shared_ptr<BootManager> bootManager;
std::shared_ptr<DbusHandler> dbusHandler;
};
} // namespace boot_time_monitor