xref: /openbmc/phosphor-modbus/rtu/port/usb_port.hpp (revision b62e3dfe5505fdb8c2ab96156b62e3bfb878b7a6)
17f9d41ddSJagpal Singh Gill #pragma once
27f9d41ddSJagpal Singh Gill 
37f9d41ddSJagpal Singh Gill #include "base_port.hpp"
47f9d41ddSJagpal Singh Gill 
57f9d41ddSJagpal Singh Gill #include <sdbusplus/async.hpp>
67f9d41ddSJagpal Singh Gill 
77f9d41ddSJagpal Singh Gill namespace phosphor::modbus::rtu::port
87f9d41ddSJagpal Singh Gill {
97f9d41ddSJagpal Singh Gill 
107f9d41ddSJagpal Singh Gill namespace config
117f9d41ddSJagpal Singh Gill {
127f9d41ddSJagpal Singh Gill 
137f9d41ddSJagpal Singh Gill struct PortFactoryConfig;
147f9d41ddSJagpal Singh Gill 
157f9d41ddSJagpal Singh Gill } // namespace config
167f9d41ddSJagpal Singh Gill 
177f9d41ddSJagpal Singh Gill class USBPort : public BasePort
187f9d41ddSJagpal Singh Gill {
197f9d41ddSJagpal Singh Gill   public:
207f9d41ddSJagpal Singh Gill     explicit USBPort(sdbusplus::async::context& ctx,
21*b62e3dfeSJagpal Singh Gill                      const config::PortFactoryConfig& config);
227f9d41ddSJagpal Singh Gill 
237f9d41ddSJagpal Singh Gill     static auto getConfig(sdbusplus::async::context& ctx,
247f9d41ddSJagpal Singh Gill                           const sdbusplus::message::object_path& objectPath)
25*b62e3dfeSJagpal Singh Gill         -> sdbusplus::async::task<std::unique_ptr<config::PortFactoryConfig>>;
267f9d41ddSJagpal Singh Gill };
277f9d41ddSJagpal Singh Gill 
287f9d41ddSJagpal Singh Gill } // namespace phosphor::modbus::rtu::port
29