1e92aba45SJagpal Singh Gill #pragma once 2e92aba45SJagpal Singh Gill 3e92aba45SJagpal Singh Gill #include "base_device.hpp" 4e92aba45SJagpal Singh Gill 5e92aba45SJagpal Singh Gill #include <unordered_set> 6e92aba45SJagpal Singh Gill 7e92aba45SJagpal Singh Gill namespace phosphor::modbus::rtu::device 8e92aba45SJagpal Singh Gill { 9e92aba45SJagpal Singh Gill 10e92aba45SJagpal Singh Gill namespace config 11e92aba45SJagpal Singh Gill { 12e92aba45SJagpal Singh Gill 13e92aba45SJagpal Singh Gill struct DeviceFactoryConfig; 14e92aba45SJagpal Singh Gill 15e92aba45SJagpal Singh Gill } // namespace config 16e92aba45SJagpal Singh Gill 17e92aba45SJagpal Singh Gill class ReservoirPumpUnit : public BaseDevice 18e92aba45SJagpal Singh Gill { 19e92aba45SJagpal Singh Gill public: 20e92aba45SJagpal Singh Gill explicit ReservoirPumpUnit(sdbusplus::async::context& ctx, 21e92aba45SJagpal Singh Gill const config::Config& config, 22*7184805aSJagpal Singh Gill PortIntf& serialPort, EventIntf::Events& events); 23e92aba45SJagpal Singh Gill 24e92aba45SJagpal Singh Gill static auto getInterfaces() -> std::unordered_set<std::string>; 25e92aba45SJagpal Singh Gill 26e92aba45SJagpal Singh Gill static auto getConfig(sdbusplus::async::context& ctx, 27e92aba45SJagpal Singh Gill const sdbusplus::message::object_path& objectPath, 28e92aba45SJagpal Singh Gill const std::string& interfaceName) 29e92aba45SJagpal Singh Gill -> sdbusplus::async::task<std::optional<config::DeviceFactoryConfig>>; 30e92aba45SJagpal Singh Gill }; 31e92aba45SJagpal Singh Gill 32e92aba45SJagpal Singh Gill } // namespace phosphor::modbus::rtu::device 33