KPN IoT / senml

Fork of kpn_senml by KPN IoT

Committer:
kpniot
Date:
Sat May 19 17:35:20 2018 +0000
Revision:
0:a9259748d982
first commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kpniot 0:a9259748d982 1 /* _ __ ____ _ _
kpniot 0:a9259748d982 2 * | |/ / | _ \ | \ | |
kpniot 0:a9259748d982 3 * | ' / | |_) | | \| |
kpniot 0:a9259748d982 4 * | . \ | __/ | |\ |
kpniot 0:a9259748d982 5 * |_|\_\ |_| |_| \_|
kpniot 0:a9259748d982 6 *
kpniot 0:a9259748d982 7 * (c) 2018 KPN
kpniot 0:a9259748d982 8 * License: MIT License.
kpniot 0:a9259748d982 9 * Author: Jan Bogaerts
kpniot 0:a9259748d982 10 *
kpniot 0:a9259748d982 11 * support for int actuators headers
kpniot 0:a9259748d982 12 */
kpniot 0:a9259748d982 13
kpniot 0:a9259748d982 14 #ifndef SENMLINTACTUATOR
kpniot 0:a9259748d982 15 #define SENMLINTACTUATOR
kpniot 0:a9259748d982 16
kpniot 0:a9259748d982 17 #include <senml_int_record.h>
kpniot 0:a9259748d982 18
kpniot 0:a9259748d982 19 #define INT_ACTUATOR_SIGNATURE void (*callback)(int)
kpniot 0:a9259748d982 20
kpniot 0:a9259748d982 21 /**
kpniot 0:a9259748d982 22 * A SenMLRecord that stores integer data and supports actuation.
kpniot 0:a9259748d982 23 */
kpniot 0:a9259748d982 24 class SenMLIntActuator: public SenMLIntRecord
kpniot 0:a9259748d982 25 {
kpniot 0:a9259748d982 26 public:
kpniot 0:a9259748d982 27 SenMLIntActuator(const char* name, INT_ACTUATOR_SIGNATURE): SenMLIntRecord(name, SENML_UNIT_NONE, 0), callback(callback) {};
kpniot 0:a9259748d982 28 SenMLIntActuator(const char* name, SenMLUnit unit, INT_ACTUATOR_SIGNATURE): SenMLIntRecord(name, unit, 0), callback(callback) {};
kpniot 0:a9259748d982 29 SenMLIntActuator(const char* name, SenMLUnit unit, int value, INT_ACTUATOR_SIGNATURE): SenMLIntRecord(name, unit, value), callback(callback) {};
kpniot 0:a9259748d982 30 ~SenMLIntActuator(){};
kpniot 0:a9259748d982 31
kpniot 0:a9259748d982 32 protected:
kpniot 0:a9259748d982 33
kpniot 0:a9259748d982 34 /**
kpniot 0:a9259748d982 35 * called while parsing a senml message, when the parser found the value for an SenMLJsonListener
kpniot 0:a9259748d982 36 */
kpniot 0:a9259748d982 37 virtual void actuate(const void* value, int dataLength, SenMLDataType dataType);
kpniot 0:a9259748d982 38
kpniot 0:a9259748d982 39 private:
kpniot 0:a9259748d982 40 INT_ACTUATOR_SIGNATURE;
kpniot 0:a9259748d982 41 };
kpniot 0:a9259748d982 42
kpniot 0:a9259748d982 43 #endif // SENMLINTACTUATOR
kpniot 0:a9259748d982 44
kpniot 0:a9259748d982 45
kpniot 0:a9259748d982 46
kpniot 0:a9259748d982 47
kpniot 0:a9259748d982 48
kpniot 0:a9259748d982 49
kpniot 0:a9259748d982 50