#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> powerMatcher;
    std::unique_ptr<sdbusplus::bus::match::match> osStatusMatcher;

    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
