A specialized transform whose primary purpose is to output Signal K data on the Signal K network. More...
#include <sensesp/signalk/signalk_output.h>
Public Member Functions | |
SKOutput () | |
SKOutput (String sk_path, String config_path="", SKMetadata *meta=nullptr) | |
SKOutput (String sk_path, String config_path, std::shared_ptr< SKMetadata > meta) | |
SKOutput (String sk_path, SKMetadata *meta) | |
virtual void | set (const T &new_value) override |
virtual void | as_signalk_json (JsonDocument &doc) override |
virtual bool | to_json (JsonObject &root) override |
virtual bool | from_json (const JsonObject &config) override |
virtual void | set_metadata (SKMetadata *meta) |
virtual SKMetadata * | get_metadata () override |
void | as_signalk_json (JsonDocument &doc) |
Template specialization for SKOutputPosition::as_signalk_json() | |
void | as_signalk_json (JsonDocument &doc) |
void | as_signalk_json (JsonDocument &doc) |
void | as_signalk_json (JsonDocument &doc) |
void | as_signalk_json (JsonDocument &doc) |
void | as_signalk_json (JsonDocument &doc) |
![]() | |
SKEmitter (const String &sk_path) | |
virtual void | add_metadata (JsonArray &meta) |
String & | get_sk_path () |
void | set_sk_path (const String &path) |
![]() | |
Observable () | |
Observable (Observable &&other) | |
Move constructor. | |
void | notify () |
void | attach (std::function< void()> observer) |
![]() | |
SymmetricTransform (String config_path="") | |
![]() | |
Transform (String config_path="") | |
Transform< T, T > * | connect_from (ValueProducer< T > *producer0, ValueProducer< T > *producer1=NULL, ValueProducer< T > *producer2=NULL, ValueProducer< T > *producer3=NULL, ValueProducer< T > *producer4=NULL) |
![]() | |
TransformBase (const String &config_path) | |
![]() | |
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) |
![]() | |
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 |
![]() | |
![]() | |
virtual void | set_input (const T &new_value) |
void | connect_from (ValueProducer< T > *producer) |
![]() | |
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) |
Protected Attributes | |
std::shared_ptr< SKMetadata > | meta_ |
![]() | |
String | sk_path_ {} |
![]() | |
const String | config_path_ |
![]() | |
T | output_ |
Additional Inherited Members | |
![]() | |
using | input_type = T |
![]() | |
static const std::vector< SKEmitter * > & | get_sources () |
![]() | |
static const std::set< TransformBase * > & | get_transforms () |
A specialized transform whose primary purpose is to output Signal K data on the Signal K network.
Definition at line 17 of file signalk_output.h.
|
inline |
|
inline |
The constructor
sk_path | The Signal K path the output value of this transform is sent on |
config_path | The optional configuration path that allows an end user to change the configuration of this object. See the Configurable class for more information. |
meta | Optional metadata that is associated with the value output by this class A value specified here will cause the path's metadata to be emitted on the first delta sent to the server. Use NULL if this path has no metadata to report (or if the path is already an official part of the Signal K specification) |
Definition at line 34 of file signalk_output.h.
|
inline |
|
inline |
Definition at line 42 of file signalk_output.h.
|
virtual |
Template specialization for SKOutputPosition::as_signalk_json()
This specialization allows Position
objects to be output as Signal K deltas.
return String
Reimplemented from sensesp::SKEmitter.
Reimplemented in sensesp::SKOutputRawJson.
Definition at line 16 of file signalk_types.cpp.
|
virtual |
Returns the data to be reported to the server as a Signal K json object.
Reimplemented from sensesp::SKEmitter.
Reimplemented in sensesp::SKOutputRawJson.
Definition at line 27 of file signalk_types.cpp.
|
virtual |
Returns the data to be reported to the server as a Signal K json object.
Reimplemented from sensesp::SKEmitter.
Reimplemented in sensesp::SKOutputRawJson.
Definition at line 38 of file signalk_types.cpp.
|
virtual |
Returns the data to be reported to the server as a Signal K json object.
Reimplemented from sensesp::SKEmitter.
Reimplemented in sensesp::SKOutputRawJson.
|
virtual |
Returns the data to be reported to the server as a Signal K json object.
Reimplemented from sensesp::SKEmitter.
Reimplemented in sensesp::SKOutputRawJson.
|
virtual |
Returns the data to be reported to the server as a Signal K json object.
Reimplemented from sensesp::SKEmitter.
Reimplemented in sensesp::SKOutputRawJson.
|
inlineoverridevirtual |
Returns the data to be reported to the server as a Signal K json object.
Reimplemented from sensesp::SKEmitter.
Reimplemented in sensesp::SKOutputRawJson.
Definition at line 48 of file signalk_output.h.
|
inlineoverridevirtual |
Deserializes the current object data from a JsonObject.
Reimplemented from sensesp::Serializable.
Definition at line 58 of file signalk_output.h.
|
inlineoverridevirtual |
Returns a Metadata structure that describes the sk_path this SKEmitter is associated with. If this emitter has no metadata, NULL is returned.
Reimplemented from sensesp::SKEmitter.
Definition at line 76 of file signalk_output.h.
|
inlineoverridevirtual |
Used to set an input of this consumer. It is called automatically by a ValueProducer but can also be called manually.
new_value | the value of the input |
Reimplemented from sensesp::ValueConsumer< T >.
Definition at line 44 of file signalk_output.h.
|
inlinevirtual |
Used to set the optional metadata that is associated with the Signal K path this transform emits. This is a second method of setting the metadata (the first being a parameter to the constructor).
Definition at line 72 of file signalk_output.h.
|
inlineoverridevirtual |
Serializes the current object data into a JsonObject.
Reimplemented from sensesp::Serializable.
Definition at line 53 of file signalk_output.h.
|
protected |
Definition at line 79 of file signalk_output.h.