#include "snmp_client.hpp" #include "snmp_conf_manager.hpp" #include "snmp_serialize.hpp" namespace phosphor { namespace network { namespace snmp { Client::Client(sdbusplus::bus::bus& bus, const char* objPath, ConfManager& parent, const std::string& address, uint16_t port) : Ifaces(bus, objPath, true), id(std::stol(std::experimental::filesystem::path(objPath).filename())), parent(parent) { this->address(address); this->port(port); // Emit deferred signal. emit_object_added(); } std::string Client::address(std::string value) { if (value == Ifaces::address()) { return value; } parent.checkClientConfigured(value, port()); auto addr = Ifaces::address(value); serialize(id, *this, parent.dbusPersistentLocation); return addr; } uint16_t Client::port(uint16_t value) { if (value == Ifaces::port()) { return value; } parent.checkClientConfigured(address(), value); auto port = Ifaces::port(value); serialize(id, *this, parent.dbusPersistentLocation); return port; } void Client::delete_() { parent.deleteSNMPClient(id); } } // namespace snmp } // namespace network } // namespace phosphor