blob: b6f32c39b29fc80f5da5ef37f51f12649ad67d85 [file] [log] [blame]
#include "config.h"
#include <sdbusplus/bus.hpp>
#include <sdbusplus/server.hpp>
#include <sdbusplus/server/object.hpp>
#include <sdeventplus/clock.hpp>
#include <sdeventplus/event.hpp>
#include <sdeventplus/utility/timer.hpp>
namespace phosphor
{
namespace nvme
{
class Nvme
{
public:
Nvme() = delete;
Nvme(const Nvme&) = delete;
Nvme& operator=(const Nvme&) = delete;
Nvme(Nvme&&) = delete;
Nvme& operator=(Nvme&&) = delete;
Nvme(sdbusplus::bus::bus& bus) :
bus(bus), _event(sdeventplus::Event::get_default()),
_timer(_event, std::bind(&Nvme::read, this))
{
}
void run();
private:
sdbusplus::bus::bus& bus;
sdeventplus::Event _event;
/** @brief Read Timer */
sdeventplus::utility::Timer<sdeventplus::ClockId::Monotonic> _timer;
void init();
void read();
};
} // namespace nvme
} // namespace phosphor