#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::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
