PModbusConnector TMQTTModbusObserver::GetConnector(PPortConfig port_config) { if (port_config->Type == "uniel") return PModbusConnector(new TUnielModbusConnector()); if (!port_config->Type.empty() && port_config->Type != "modbus") std::cerr << "warning: bad port type '" << port_config->Type << "', using 'modbus'" << std::endl; return PModbusConnector(new TDefaultModbusConnector()); }
TModbusClient::TModbusClient(const TModbusConnectionSettings& settings, PModbusConnector connector) : Active(false), PollInterval(1000) { if (!connector) connector = PModbusConnector(new TDefaultModbusConnector); Context = connector->CreateContext(settings); }