From fae726f52d78e254917f997c5e94f14452202838 Mon Sep 17 00:00:00 2001 From: john30 Date: Wed, 6 Jan 2016 21:42:12 +0100 Subject: [PATCH] fix for repeated loading attempt of non-existent config files --- src/ebusd/bushandler.cpp | 4 ++-- src/ebusd/bushandler.h | 5 ++--- src/ebusd/mainloop.cpp | 5 +++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/ebusd/bushandler.cpp b/src/ebusd/bushandler.cpp index 6e87404a..0bbca832 100644 --- a/src/ebusd/bushandler.cpp +++ b/src/ebusd/bushandler.cpp @@ -1015,9 +1015,9 @@ unsigned char BusHandler::getNextScanAddress(unsigned char lastAddress, bool& sc return SYN; } -void BusHandler::setScanConfigLoaded(unsigned char address, bool completed, string file) { +void BusHandler::setScanConfigLoaded(unsigned char address, string file) { m_seenAddresses[address] |= LOAD_INIT; - if (completed) { + if (!file.empty()) { m_seenAddresses[address] |= LOAD_DONE; m_loadedFiles[address] = file; } diff --git a/src/ebusd/bushandler.h b/src/ebusd/bushandler.h index afea4a92..f378296e 100644 --- a/src/ebusd/bushandler.h +++ b/src/ebusd/bushandler.h @@ -438,10 +438,9 @@ public: /** * Set the state of the participant to configuration @a LOADED. * @param address the slave address. - * @param completed true when loading was completed. - * @param file the file from which the configuration was loaded. + * @param file the file from which the configuration was loaded, or empty if loading was not possible. */ - void setScanConfigLoaded(unsigned char address, bool completed, string file); + void setScanConfigLoaded(unsigned char address, string file); private: diff --git a/src/ebusd/mainloop.cpp b/src/ebusd/mainloop.cpp index ddc5c91d..4227418c 100644 --- a/src/ebusd/mainloop.cpp +++ b/src/ebusd/mainloop.cpp @@ -128,7 +128,6 @@ void MainLoop::run() else { scanned = true; logInfo(lf_main, "scan config %2.2x message received", lastScanAddress); - m_busHandler->setScanConfigLoaded(lastScanAddress, false, ""); } } if (scanned) { @@ -136,7 +135,9 @@ void MainLoop::run() result_t result = loadScanConfigFile(m_messages, lastScanAddress, slave, file); if (result==RESULT_OK) { logInfo(lf_main, "scan config %2.2x: file %s loaded", lastScanAddress, file.c_str()); - m_busHandler->setScanConfigLoaded(lastScanAddress, true, file); + m_busHandler->setScanConfigLoaded(lastScanAddress, file); + } else { + m_busHandler->setScanConfigLoaded(lastScanAddress, ""); } } }