KPN Things Device SDK
senml_half_float_actuator.h
Go to the documentation of this file.
1/* _ __ ____ _ _
2 * | |/ / | _ \ | \ | |
3 * | ' / | |_) | | \| |
4 * | . \ | __/ | |\ |
5 * |_|\_\ |_| |_| \_|
6 *
7 * (c) 2020 KPN
8 * License: MIT License.
9 * Author: Joseph Verburg, Jan Bogaerts
10 *
11 * support for float actuators headers
12 */
13
14#ifndef SENMLHALFFLOATACTUATOR
15#define SENMLHALFFLOATACTUATOR
16
17#include "../record/senml_half_float_record.h"
18
19#define FLOAT_ACTUATOR_SIGNATURE void (*callback)(float)
20
25 public:
26 SenMLHalfFloatActuator(const char *name, FLOAT_ACTUATOR_SIGNATURE)
27 : SenMLHalfFloatRecord(name, SENML_UNIT_NONE, 0.0), callback(callback){};
28 SenMLHalfFloatActuator(const char *name, SenMLUnit unit, FLOAT_ACTUATOR_SIGNATURE)
29 : SenMLHalfFloatRecord(name, unit, 0.0), callback(callback){};
30 SenMLHalfFloatActuator(const char *name, SenMLUnit unit, float value, FLOAT_ACTUATOR_SIGNATURE)
31 : SenMLHalfFloatRecord(name, unit, value), callback(callback){};
32 SenMLHalfFloatActuator(ThingsMLMeasurementIndex index, FLOAT_ACTUATOR_SIGNATURE)
33 : SenMLHalfFloatRecord(index), callback(callback){};
34 SenMLHalfFloatActuator(ThingsMLMeasurementIndex index, float value, FLOAT_ACTUATOR_SIGNATURE)
35 : SenMLHalfFloatRecord(index, value), callback(callback){};
36
37 SenMLHalfFloatActuator(const char *name) : SenMLHalfFloatRecord(name){};
38 SenMLHalfFloatActuator(const char *name, SenMLUnit unit) : SenMLHalfFloatRecord(name, unit){};
39 SenMLHalfFloatActuator(const char *name, SenMLUnit unit, float value) : SenMLHalfFloatRecord(name, unit, value){};
43
44 protected:
45 // called while parsing a senml message, when the parser found the value for an SenMLJsonListener
46 virtual void actuate(const void *value, int dataLength, SenMLDataType dataType);
47
48 private:
49 FLOAT_ACTUATOR_SIGNATURE = NULL;
50};
51
52#endif // SENMLHALFFLOATACTUATOR
Definition: senml_half_float_actuator.h:24
SenMLHalfFloatActuator(ThingsMLMeasurementIndex index, FLOAT_ACTUATOR_SIGNATURE)
Definition: senml_half_float_actuator.h:32
~SenMLHalfFloatActuator()
Definition: senml_half_float_actuator.h:42
SenMLHalfFloatActuator(const char *name)
Definition: senml_half_float_actuator.h:37
SenMLHalfFloatActuator(ThingsMLMeasurementIndex index, float value)
Definition: senml_half_float_actuator.h:41
SenMLHalfFloatActuator(const char *name, FLOAT_ACTUATOR_SIGNATURE)
Definition: senml_half_float_actuator.h:26
SenMLHalfFloatActuator(const char *name, SenMLUnit unit)
Definition: senml_half_float_actuator.h:38
SenMLHalfFloatActuator(const char *name, SenMLUnit unit, float value, FLOAT_ACTUATOR_SIGNATURE)
Definition: senml_half_float_actuator.h:30
SenMLHalfFloatActuator(const char *name, SenMLUnit unit, float value)
Definition: senml_half_float_actuator.h:39
virtual void actuate(const void *value, int dataLength, SenMLDataType dataType)
Definition: senml_half_float_actuator.cpp:18
SenMLHalfFloatActuator(ThingsMLMeasurementIndex index)
Definition: senml_half_float_actuator.h:40
SenMLHalfFloatActuator(ThingsMLMeasurementIndex index, float value, FLOAT_ACTUATOR_SIGNATURE)
Definition: senml_half_float_actuator.h:34
SenMLHalfFloatActuator(const char *name, SenMLUnit unit, FLOAT_ACTUATOR_SIGNATURE)
Definition: senml_half_float_actuator.h:28
Definition: senml_half_float_record.h:25
SenMLUnit
Definition: senml_enums.h:97
@ SENML_UNIT_NONE
Definition: senml_enums.h:98
ThingsMLMeasurementIndex
Definition: senml_enums.h:51
SenMLDataType
Definition: senml_enums.h:25