settings: hide kv_store from the public header

More concise foreach, generic template code also no longer expands down to ::_read_kv
Also helps with needless inlining happening with recent gcc versions
This commit is contained in:
Maxim Prokhorov
2021-06-18 17:19:05 +03:00
parent c51b6e99f1
commit 1600fcc133
8 changed files with 76 additions and 33 deletions

View File

@@ -537,7 +537,7 @@ unsigned long _buttonGetDelay(const char* key, size_t index, unsigned long defau
auto indexed = SettingsKey(key, index);
auto global = String(key);
settings::kv_store.foreach([&](settings::kvs_type::KeyValueResult&& kv) {
settings::internal::foreach([&](settings::kvs_type::KeyValueResult&& kv) {
if (found) {
return;
}
@@ -701,7 +701,7 @@ std::vector<AnalogPin*> AnalogPin::pins;
BasePinPtr _buttonGpioPin(size_t index, ButtonProvider provider) {
BasePinPtr result;
auto pin = getSetting({"btnGpio", index}, button::build::pin(index));
auto pin [[gnu::unused]] = getSetting({"btnGpio", index}, button::build::pin(index));
switch (provider) {
case ButtonProvider::Gpio: {