SensESP 3.0.1
Universal Signal K sensor toolkit ESP32
Loading...
Searching...
No Matches
sensesp::PersistingObservableValue< T > Class Template Reference

An ObservableValue that saves its value to the configuration. More...

#include <sensesp/system/observablevalue.h>

Inheritance diagram for sensesp::PersistingObservableValue< T >:
[legend]

Public Member Functions

 PersistingObservableValue (const T &value, String config_path="")
 
virtual void set (const T &value) override
 
virtual bool to_json (JsonObject &doc) override
 
virtual bool from_json (const JsonObject &config) override
 
- Public Member Functions inherited from sensesp::ObservableValue< T >
 ObservableValue ()=default
 
 ObservableValue (const T &value)
 
 ObservableValue (const ObservableValue &)=delete
 
ObservableValueoperator= (const ObservableValue &)=delete
 
const T & operator= (const T &value)
 
T & operator++ ()
 
T & operator-- ()
 
operator++ (int)
 
operator-- (int)
 
const T & operator+= (const T &value)
 
const T & operator-= (const T &value)
 
- Public Member Functions inherited from sensesp::ValueConsumer< T >
virtual void set_input (const T &new_value)
 
void connect_from (ValueProducer< T > *producer)
 
- Public Member Functions inherited from sensesp::ValueProducer< T >
 ValueProducer ()
 
 ValueProducer (const T &initial_value)
 
virtual const T & get () const
 
template<typename VConsumer >
std::enable_if< std::is_base_of< ValueConsumer< typenameVConsumer::input_type >, VConsumer >::value &&std::is_convertible< T, typenameVConsumer::input_type >::value, std::shared_ptr< VConsumer > >::type connect_to (std::shared_ptr< VConsumer > consumer)
 Connect a producer to a transform with a different input type.
 
template<typename VConsumer >
std::enable_if< std::is_base_of< ValueConsumer< typenameVConsumer::input_type >, VConsumer >::value &&std::is_convertible< T, typenameVConsumer::input_type >::value, VConsumer * >::type connect_to (VConsumer *consumer)
 
template<typename VConsumer >
std::enable_if< std::is_base_of< ValueConsumer< typenameVConsumer::input_type >, VConsumer >::value &&std::is_convertible< T, typenameVConsumer::input_type >::value, VConsumer * >::type connect_to (VConsumer &consumer)
 
void emit (const T &new_value)
 
- Public Member Functions inherited from sensesp::Observable
 Observable ()
 
 Observable (Observable &&other)
 Move constructor.
 
void notify ()
 
void attach (std::function< void()> observer)
 
- Public Member Functions inherited from sensesp::FileSystemSaveable
 FileSystemSaveable (const String &config_path)
 
virtual bool load () override
 Load and populate the object from a persistent storage.
 
virtual bool save () override
 Save the object to a persistent storage.
 
virtual bool clear () override
 Delete the data from a persistent storage.
 
bool find_config_file (const String &config_path, String &filename)
 
- Public Member Functions inherited from sensesp::Saveable
 Saveable (const String &config_path)
 
virtual bool refresh ()
 Refresh the object. This may or may not access the persistent storage but is not expected to overwrite the object's state.
 
const String & get_config_path () const
 
- Public Member Functions inherited from sensesp::Serializable

Additional Inherited Members

- Public Types inherited from sensesp::ValueConsumer< T >
using input_type = T
 
- Protected Attributes inherited from sensesp::ValueProducer< T >
output_
 
- Protected Attributes inherited from sensesp::Saveable
const String config_path_
 

Detailed Description

template<class T>
class sensesp::PersistingObservableValue< T >

An ObservableValue that saves its value to the configuration.

Only use this class for values that change infrequently. Frequent writes to the configuration can wear out the flash memory.

Template Parameters
T

Definition at line 95 of file observablevalue.h.

Constructor & Destructor Documentation

◆ PersistingObservableValue()

template<class T >
sensesp::PersistingObservableValue< T >::PersistingObservableValue ( const T & value,
String config_path = "" )
inline

Definition at line 98 of file observablevalue.h.

Here is the call graph for this function:

Member Function Documentation

◆ from_json()

template<class T >
virtual bool sensesp::PersistingObservableValue< T >::from_json ( const JsonObject & root)
inlineoverridevirtual

Deserializes the current object data from a JsonObject.

Reimplemented from sensesp::Serializable.

Definition at line 116 of file observablevalue.h.

◆ set()

template<class T >
virtual void sensesp::PersistingObservableValue< T >::set ( const T & new_value)
inlineoverridevirtual

Used to set an input of this consumer. It is called automatically by a ValueProducer but can also be called manually.

Parameters
new_valuethe value of the input

Reimplemented from sensesp::ObservableValue< T >.

Definition at line 106 of file observablevalue.h.

Here is the call graph for this function:

◆ to_json()

template<class T >
virtual bool sensesp::PersistingObservableValue< T >::to_json ( JsonObject & root)
inlineoverridevirtual

Serializes the current object data into a JsonObject.

Reimplemented from sensesp::Serializable.

Definition at line 111 of file observablevalue.h.


The documentation for this class was generated from the following file: