|  | #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 |