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

@@ -1522,7 +1522,7 @@ void _relayMqttSubscribeCustomTopics() {
topics.emplace_back(relay::build::mqttTopicSub(id), relay::build::mqttTopicMode(id));
}
settings::kv_store.foreach([&](settings::kvs_type::KeyValueResult&& kv) {
settings::internal::foreach([&](settings::kvs_type::KeyValueResult&& kv) {
const char* const SubPrefix = "relayTopicSub";
const char* const ModePrefix = "relayTopicMode";
@@ -1648,7 +1648,7 @@ void _relayMqttHandleCustomTopic(const String& topic, const char* payload) {
}
void _relayMqttHandleDisconnect() {
settings::kv_store.foreach([](settings::kvs_type::KeyValueResult&& kv) {
settings::internal::foreach([](settings::kvs_type::KeyValueResult&& kv) {
const char* const prefix = "relayMqttDisc";
if (kv.key.length <= strlen(prefix)) {
return;