1#ifndef SENSESP_SIGNALK_LISTENER_H_
2#define SENSESP_SIGNALK_LISTENER_H_
6#include <ArduinoJson.h>
36 const String& config_path =
"");
72 virtual void parse_meta(
const std::shared_ptr<const JsonDocument>& meta_doc) {}
74 static const std::vector<SKListener*>&
get_listeners() {
return listeners_; }
89 static std::vector<SKListener*> listeners_;
91 static StaticSemaphore_t semaphore_buffer_;
92 static SemaphoreHandle_t semaphore_;
94 virtual bool to_json(JsonObject& root)
override;
95 virtual bool from_json(
const JsonObject& config)
override;
97 void set_sk_path(
const String& path);
A base class which allow observers to attach callbacks to themselves. The callbacks will be called wh...
An Obervable class that listens for Signal K stream deltas and notifies any observers of value change...
static bool take_semaphore(uint64_t timeout_ms=0)
static void release_semaphore()
virtual void parse_value(const JsonObject &json)
virtual void parse_meta(const std::shared_ptr< const JsonDocument > &meta_doc)
static const std::vector< SKListener * > & get_listeners()
static void clear_registry()
virtual bool wants_meta() const
const String ConfigSchema(const SmartSwitchController &obj)