diff --git a/lib/BoardFinder/BoardFinder.cpp b/lib/BoardFinder/BoardFinder.cpp index c8eb972..0e076e0 100644 --- a/lib/BoardFinder/BoardFinder.cpp +++ b/lib/BoardFinder/BoardFinder.cpp @@ -6,7 +6,7 @@ BoardConfig::BoardConfig(String name, BoardType type, uint8_t oledsda, uint8_t o : Name(name), Type(type), OledSda(oledsda), OledScl(oledscl), OledAddr(oledaddr), OledReset(oledreset), LoraSck(lorasck), LoraMiso(loramiso), LoraMosi(loramosi), LoraCS(loracs), LoraReset(lorareset), LoraIRQ(lorairq), needCheckPowerChip(needcheckpowerchip), powerCheckStatus(powercheckstatus) { } -BoardFinder::BoardFinder(std::list boardConfigs) : _boardConfigs(boardConfigs) { +BoardFinder::BoardFinder(const std::list &boardConfigs) : _boardConfigs(boardConfigs) { } BoardConfig const *BoardFinder::searchBoardConfig() { @@ -51,7 +51,7 @@ BoardConfig const *BoardFinder::searchBoardConfig() { } BoardConfig const *BoardFinder::getBoardConfig(String name) { - std::_List_iterator elem = std::find_if(_boardConfigs.begin(), _boardConfigs.end(), [&](BoardConfig const *conf) { + std::_List_const_iterator elem = std::find_if(_boardConfigs.begin(), _boardConfigs.end(), [&](BoardConfig const *conf) { return conf->Name == name; }); if (elem == _boardConfigs.end()) { diff --git a/lib/BoardFinder/BoardFinder.h b/lib/BoardFinder/BoardFinder.h index a18f674..142de6d 100644 --- a/lib/BoardFinder/BoardFinder.h +++ b/lib/BoardFinder/BoardFinder.h @@ -45,14 +45,14 @@ public: class BoardFinder { public: - explicit BoardFinder(std::list boardConfigs); + explicit BoardFinder(const std::list &boardConfigs); BoardConfig const *searchBoardConfig(); BoardConfig const *getBoardConfig(String name); private: - std::list _boardConfigs; + const std::list &_boardConfigs; bool checkOledConfig(BoardConfig const *boardConfig); bool checkModemConfig(BoardConfig const *boardConfig);