KPN Things Device SDK
SenMLPackTemplate< T > Class Template Reference

#include <senml_pack_t.h>

Inheritance diagram for SenMLPackTemplate< T >:
SenMLPack SenMLBasePack SenMLBase

Public Member Functions

 SenMLPackTemplate (const char *baseName)
 
 SenMLPackTemplate (const char *baseName, SenMLUnit baseUnit)
 
 SenMLPackTemplate (const char *baseName, SenMLUnit baseUnit, double baseTime)
 
 SenMLPackTemplate (PACK_ACTUATOR_SIGNATURE)
 
 SenMLPackTemplate (const char *baseName, PACK_ACTUATOR_SIGNATURE)
 
 SenMLPackTemplate (const char *baseName, SenMLUnit baseUnit, PACK_ACTUATOR_SIGNATURE)
 
 SenMLPackTemplate (const char *baseName, SenMLUnit baseUnit, double baseTime, PACK_ACTUATOR_SIGNATURE)
 
 ~SenMLPackTemplate ()
 
getBaseSum ()
 
bool setBaseSum (T value)
 
getBaseValue ()
 
bool setBaseValue (T value)
 
- Public Member Functions inherited from SenMLPack
 SenMLPack ()
 
 SenMLPack (const char *baseName)
 
 SenMLPack (const char *baseName, SenMLUnit baseUnit)
 
 SenMLPack (const char *baseName, SenMLUnit baseUnit, double baseTime)
 
 SenMLPack (PACK_ACTUATOR_SIGNATURE)
 
 SenMLPack (const char *baseName, PACK_ACTUATOR_SIGNATURE)
 
 SenMLPack (const char *baseName, SenMLUnit baseUnit, PACK_ACTUATOR_SIGNATURE)
 
 SenMLPack (const char *baseName, SenMLUnit baseUnit, double baseTime, PACK_ACTUATOR_SIGNATURE)
 
 ~SenMLPack ()
 
void setBaseName (const char *name)
 
const char * getBaseName ()
 
void setBaseUnit (SenMLUnit unit)
 
SenMLUnit getBaseUnit ()
 
void setBaseTime (double time)
 
void setBaseTimeSilently (double time)
 
double getBaseTime ()
 
virtual int fieldsToJson ()
 
virtual int fieldsToCbor ()
 
- Public Member Functions inherited from SenMLBasePack
 SenMLBasePack ()
 
 ~SenMLBasePack ()
 
int toJson (Stream &dest, SenMLStreamMethod format=SENML_RAW)
 
int toJson (char *dest, int length, SenMLStreamMethod format=SENML_RAW)
 
int toCbor (Stream &dest, SenMLStreamMethod format=SENML_RAW)
 
int toCbor (char *dest, int length, SenMLStreamMethod format=SENML_RAW)
 
void fromJson (Stream &source, SenMLStreamMethod format=SENML_RAW)
 
void fromJson (const char *source)
 
void fromCbor (Stream &source, SenMLStreamMethod format=SENML_RAW)
 
void fromCbor (char *source, int length, SenMLStreamMethod format)
 
bool add (SenMLBase &item)
 
bool clear ()
 
SenMLBasegetFirst ()
 
virtual int getCount ()
 
virtual int fieldsToJson ()=0
 
virtual int fieldsToCbor ()=0
 
virtual const char * getBaseName ()
 
virtual SenMLUnit getBaseUnit ()
 
- Public Member Functions inherited from SenMLBase
 SenMLBase ()
 
 ~SenMLBase ()
 
SenMLBasegetNext ()
 
SenMLBasegetRoot ()
 
virtual void adjustToBaseTime (double prev, double time)
 
virtual int fieldsToJson ()=0
 
virtual int fieldsToCbor ()=0
 

Additional Inherited Members

- Protected Member Functions inherited from SenMLPack
bool isActuator ()
 
void actuate (const char *pack, const char *record, const void *value, int valueLength, SenMLDataType dataType)
 
virtual int getFieldLength ()
 
- Protected Member Functions inherited from SenMLBasePack
virtual bool isPack ()
 
virtual bool isActuator ()
 
void setLast (SenMLBase &value)
 
virtual int contentToCbor ()
 
virtual int contentToJson ()
 
virtual int getArrayLength ()
 
virtual int getFieldLength ()
 
virtual void setupStreamCtx (char *dest, int length, SenMLStreamMethod format)
 
virtual void setupStreamCtx (Stream *dest, SenMLStreamMethod format)
 
- Protected Member Functions inherited from SenMLBase
virtual int contentToJson ()=0
 
void setNext (SenMLBase *value)
 
void setPrev (SenMLBase *value)
 
SenMLBasegetPrev ()
 
virtual bool isPack ()
 
virtual int contentToCbor ()=0
 
virtual int getArrayLength ()
 
virtual int getFieldLength ()=0
 

Detailed Description

template<class T>
class SenMLPackTemplate< T >

A template class that can be used to create new SenMLPack types that store a base-value and/or base-sum with a basic data type (no structs or classes). When you create a new class, you should always implement the following functions in order for the new class to operate correctly: fieldsToJson() and fieldsToCbor(). These functions are responsible for rendering both base-value and base-sum. This class does not implement any rendering. See previous implementations such as SenMLIntPack for inspiration.

Constructor & Destructor Documentation

◆ SenMLPackTemplate() [1/7]

template<class T >
SenMLPackTemplate< T >::SenMLPackTemplate ( const char *  baseName)
inline

◆ SenMLPackTemplate() [2/7]

template<class T >
SenMLPackTemplate< T >::SenMLPackTemplate ( const char *  baseName,
SenMLUnit  baseUnit 
)
inline

◆ SenMLPackTemplate() [3/7]

template<class T >
SenMLPackTemplate< T >::SenMLPackTemplate ( const char *  baseName,
SenMLUnit  baseUnit,
double  baseTime 
)
inline

◆ SenMLPackTemplate() [4/7]

template<class T >
SenMLPackTemplate< T >::SenMLPackTemplate ( PACK_ACTUATOR_SIGNATURE  )
inline

◆ SenMLPackTemplate() [5/7]

template<class T >
SenMLPackTemplate< T >::SenMLPackTemplate ( const char *  baseName,
PACK_ACTUATOR_SIGNATURE   
)
inline

◆ SenMLPackTemplate() [6/7]

template<class T >
SenMLPackTemplate< T >::SenMLPackTemplate ( const char *  baseName,
SenMLUnit  baseUnit,
PACK_ACTUATOR_SIGNATURE   
)
inline

◆ SenMLPackTemplate() [7/7]

template<class T >
SenMLPackTemplate< T >::SenMLPackTemplate ( const char *  baseName,
SenMLUnit  baseUnit,
double  baseTime,
PACK_ACTUATOR_SIGNATURE   
)
inline

◆ ~SenMLPackTemplate()

template<class T >
SenMLPackTemplate< T >::~SenMLPackTemplate ( )
inline

Member Function Documentation

◆ getBaseSum()

template<class T >
T SenMLPackTemplate< T >::getBaseSum ( )
inline

Get the base-sum assigned to this pack object.

Returns
: the base-sum.

◆ getBaseValue()

template<class T >
T SenMLPackTemplate< T >::getBaseValue ( )
inline

Get the base-value assigned to this pack object.

Returns
: the base-value.

◆ setBaseSum()

template<class T >
bool SenMLPackTemplate< T >::setBaseSum ( value)
inline

Store the base-sum in the pack object.

Returns
: true (returns a value to support possible future extentions)

◆ setBaseValue()

template<class T >
bool SenMLPackTemplate< T >::setBaseValue ( value)
inline

Store the base-value in the pack object.

Returns
: true (returns a value to support possible future extentions)

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