xref: /openbmc/phosphor-modbus/rtu/port/usb_port.hpp (revision 7f9d41ddfad8c74d51fa1cf4a591b7f085254396)
1*7f9d41ddSJagpal Singh Gill #pragma once
2*7f9d41ddSJagpal Singh Gill 
3*7f9d41ddSJagpal Singh Gill #include "base_port.hpp"
4*7f9d41ddSJagpal Singh Gill 
5*7f9d41ddSJagpal Singh Gill #include <sdbusplus/async.hpp>
6*7f9d41ddSJagpal Singh Gill 
7*7f9d41ddSJagpal Singh Gill namespace phosphor::modbus::rtu::port
8*7f9d41ddSJagpal Singh Gill {
9*7f9d41ddSJagpal Singh Gill 
10*7f9d41ddSJagpal Singh Gill namespace config
11*7f9d41ddSJagpal Singh Gill {
12*7f9d41ddSJagpal Singh Gill 
13*7f9d41ddSJagpal Singh Gill struct PortFactoryConfig;
14*7f9d41ddSJagpal Singh Gill 
15*7f9d41ddSJagpal Singh Gill } // namespace config
16*7f9d41ddSJagpal Singh Gill 
17*7f9d41ddSJagpal Singh Gill class USBPort : public BasePort
18*7f9d41ddSJagpal Singh Gill {
19*7f9d41ddSJagpal Singh Gill   public:
20*7f9d41ddSJagpal Singh Gill     explicit USBPort(sdbusplus::async::context& ctx,
21*7f9d41ddSJagpal Singh Gill                      config::PortFactoryConfig& config);
22*7f9d41ddSJagpal Singh Gill 
23*7f9d41ddSJagpal Singh Gill     static auto getConfig(sdbusplus::async::context& ctx,
24*7f9d41ddSJagpal Singh Gill                           const sdbusplus::message::object_path& objectPath)
25*7f9d41ddSJagpal Singh Gill         -> sdbusplus::async::task<std::optional<config::PortFactoryConfig>>;
26*7f9d41ddSJagpal Singh Gill };
27*7f9d41ddSJagpal Singh Gill 
28*7f9d41ddSJagpal Singh Gill } // namespace phosphor::modbus::rtu::port
29