#include "bmc_monitor_app.hpp"
#include "host_monitor_app.hpp"

#include <boost/asio/io_service.hpp>
#include <sdbusplus/asio/connection.hpp>
#include <sdbusplus/asio/object_server.hpp>
#include <sdbusplus/bus.hpp>
#include <sdbusplus/server.hpp>

using namespace boot_time_monitor;

int main()
{
    boost::asio::io_service io;
    auto conn = std::make_shared<sdbusplus::asio::connection>(io);
    conn->request_name("com.google.gbmc.boot_time_monitor");
    auto server = std::make_shared<sdbusplus::asio::object_server>(conn);
    auto& bus = static_cast<sdbusplus::bus::bus&>(*conn);

    HostMonitorApp host(bus, 0);
    BMCMonitorApp bmc(bus, conn);

    io.run();

    return 0;
}
