KPN Things Device SDK
senml_pack_t.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 * pack (document) base class for packs that have base values
12 */
13
14#ifndef THINGSML_SENML_PACK_TEMPLATE
15#define THINGSML_SENML_PACK_TEMPLATE
16
17#include "senml_pack.h"
18
27template <class T> class SenMLPackTemplate : public SenMLPack {
28 public:
29 SenMLPackTemplate(const char *baseName) : SenMLPack(baseName, SENML_UNIT_NONE, NAN){};
30 SenMLPackTemplate(const char *baseName, SenMLUnit baseUnit) : SenMLPack(baseName, baseUnit, NAN){};
31 SenMLPackTemplate(const char *baseName, SenMLUnit baseUnit, double baseTime)
32 : SenMLPack(baseName, baseUnit, baseTime){};
33
34 SenMLPackTemplate(PACK_ACTUATOR_SIGNATURE) : SenMLPack(NULL, SENML_UNIT_NONE, NAN, callback){};
35 SenMLPackTemplate(const char *baseName, PACK_ACTUATOR_SIGNATURE)
36 : SenMLPack(baseName, SENML_UNIT_NONE, NAN, callback){};
37 SenMLPackTemplate(const char *baseName, SenMLUnit baseUnit, PACK_ACTUATOR_SIGNATURE)
38 : SenMLPack(baseName, baseUnit, NAN, callback){};
39 SenMLPackTemplate(const char *baseName, SenMLUnit baseUnit, double baseTime, PACK_ACTUATOR_SIGNATURE)
40 : SenMLPack(baseName, baseUnit, baseTime, callback){};
41
43
49 return _sum;
50 };
51
56 bool setBaseSum(T value) {
57 _sum = value;
58 return true;
59 };
60
66 return _value;
67 };
68
73 bool setBaseValue(T value) {
74 _value = value;
75 return true;
76 };
77
78 protected:
79 private:
80 T _sum;
81 T _value;
82};
83
84#endif // THINGSML_SENML_PACK_TEMPLATE
Definition: senml_pack.h:68
Definition: senml_pack_t.h:27
bool setBaseSum(T value)
Definition: senml_pack_t.h:56
SenMLPackTemplate(PACK_ACTUATOR_SIGNATURE)
Definition: senml_pack_t.h:34
SenMLPackTemplate(const char *baseName)
Definition: senml_pack_t.h:29
SenMLPackTemplate(const char *baseName, SenMLUnit baseUnit)
Definition: senml_pack_t.h:30
T getBaseValue()
Definition: senml_pack_t.h:65
T getBaseSum()
Definition: senml_pack_t.h:48
~SenMLPackTemplate()
Definition: senml_pack_t.h:42
SenMLPackTemplate(const char *baseName, SenMLUnit baseUnit, double baseTime, PACK_ACTUATOR_SIGNATURE)
Definition: senml_pack_t.h:39
SenMLPackTemplate(const char *baseName, SenMLUnit baseUnit, PACK_ACTUATOR_SIGNATURE)
Definition: senml_pack_t.h:37
bool setBaseValue(T value)
Definition: senml_pack_t.h:73
SenMLPackTemplate(const char *baseName, SenMLUnit baseUnit, double baseTime)
Definition: senml_pack_t.h:31
SenMLPackTemplate(const char *baseName, PACK_ACTUATOR_SIGNATURE)
Definition: senml_pack_t.h:35
SenMLUnit
Definition: senml_enums.h:97
@ SENML_UNIT_NONE
Definition: senml_enums.h:98