X-Git-Url: http://pilppa.org/gitweb/?a=blobdiff_plain;f=src%2FW1Device.cc;fp=src%2FW1Device.cc;h=c9c2e7ed225318caa6b40630c6d2075d33796392;hb=7075fbe1f4e774856a90116e4414a08c37f692f0;hp=a765cd36a6091432b4d2577ae6828efc3f36694b;hpb=d58713adbc518552c11fd19bd21ae8bd11ab434f;p=lib1wire.git diff --git a/src/W1Device.cc b/src/W1Device.cc index a765cd3..c9c2e7e 100644 --- a/src/W1Device.cc +++ b/src/W1Device.cc @@ -12,6 +12,8 @@ #include #include +#include "DeviceConfig.hh" +#include "Factory.hh" #include "W1Store.hh" #include "W1Device.hh" @@ -32,7 +34,7 @@ W1Device::W1Device(int family_code_param, log_debug("w1 data file: %s\n", slave_file.c_str()); family_code = family_code_param; id = device_id_param; - name = device_id_param; + name = ""; } W1Device::~W1Device() { @@ -55,11 +57,27 @@ string W1Device::get_id() { } string W1Device::get_name() { + DeviceConfig *cfg; + + if (name.empty() == true) { + cfg = Factory::get_device_config(id); + if (cfg != NULL) { + name = cfg->get_cfg_value("name"); + delete(cfg); + } + } return name; } void W1Device::set_name(string name_param) { + DeviceConfig *cfg; + name = name_param; + cfg = Factory::get_device_config(id); + if (cfg != NULL) { + cfg->set_cfg_value("name", name_param); + delete(cfg); + } } void W1Device::printout() {