selective restart of services after settings change

This commit is contained in:
proddy
2020-11-16 20:46:34 +01:00
parent 816e522461
commit dd9f69e9b6
4 changed files with 178 additions and 57 deletions

View File

@@ -84,6 +84,33 @@ class WebSettings {
static void read(WebSettings & settings, JsonObject & root);
static StateUpdateResult update(JsonObject & root, WebSettings & settings);
enum ChangeFlags : uint8_t {
NONE = 0,
UART = (1 << 0),
SYSLOG = (1 << 1),
OTHER = (1 << 2),
DALLAS = (1 << 3),
SHOWER = (1 << 4),
LED = (1 << 5)
};
static void add_flags(uint8_t flags) {
flags_ |= flags;
}
static bool has_flags(uint8_t flags) {
return (flags_ & flags) == flags;
}
static void reset_flags() {
flags_ = ChangeFlags::NONE;
}
private:
static uint8_t flags_;
};
class WebSettingsService : public StatefulService<WebSettings> {