KPN Things Device SDK
SenMLBinaryRecord Class Reference

#include <senml_binary_record.h>

Inheritance diagram for SenMLBinaryRecord:
SenMLRecord SenMLBase SenMLBinaryActuator

Public Member Functions

 SenMLBinaryRecord (const char *name)
 
 SenMLBinaryRecord (const char *name, SenMLUnit unit)
 
 SenMLBinaryRecord (ThingsMLMeasurementIndex idx)
 
bool set (unsigned char *value, unsigned int length, double time=NAN)
 
unsigned char * get ()
 
virtual int fieldsToJson ()
 
virtual int fieldsToCbor ()
 
- Public Member Functions inherited from SenMLRecord
 SenMLRecord ()
 
 SenMLRecord (const char *name)
 
 SenMLRecord (ThingsMLMeasurementIndex index)
 
 SenMLRecord (const char *name, SenMLUnit unit)
 
double getTime ()
 
bool setTime (double value, bool absolute=true)
 
void setTimeDirect (double value)
 
const char * getName ()
 
ThingsMLMeasurementIndex getIndex ()
 
void setName (const char *name)
 
double getUpdateTime ()
 
bool setUpdateTime (double value, bool absolute=true)
 
SenMLUnit getUnit ()
 
void setUnit (SenMLUnit value)
 
virtual int fieldsToJson ()
 
virtual int fieldsToCbor ()
 
- 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 SenMLRecord
virtual int contentToJson ()
 
virtual int contentToCbor ()
 
virtual void adjustToBaseTime (double prev, double time)
 
virtual void actuate (const void *value, int dataLength, SenMLDataType dataType)
 
int getFieldLength ()
 
- 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

A SenMLRecord that stores binary data. This type of object can only be used for sensor data. If actuation is needed, use SenMLBinaryActuator instead.

Constructor & Destructor Documentation

◆ SenMLBinaryRecord() [1/3]

SenMLBinaryRecord::SenMLBinaryRecord ( const char *  name)
inline

◆ SenMLBinaryRecord() [2/3]

SenMLBinaryRecord::SenMLBinaryRecord ( const char *  name,
SenMLUnit  unit 
)
inline

◆ SenMLBinaryRecord() [3/3]

SenMLBinaryRecord::SenMLBinaryRecord ( ThingsMLMeasurementIndex  idx)
inline

Member Function Documentation

◆ fieldsToCbor()

int SenMLBinaryRecord::fieldsToCbor ( )
virtual

renders all the fields to cbor format. renders all the fields of the object without the length info at the beginning note: this is public so that custom implementations for the record object can use other objects internally and render to json using this function (ex: coordinatesRecord using 3 floatRecrods for lat, lon & alt.

Returns
: The number of bytes that were written.

Reimplemented from SenMLRecord.

◆ fieldsToJson()

int SenMLBinaryRecord::fieldsToJson ( )
virtual

renders all the fields to json, without the starting and ending brackets. Inheriters can extend this function if they want to add extra fields to the json output note: this is public so that custom implementations for the record object can use other objects internally and render to json using this function (ex: coordinatesRecord using 3 floatRecrods for lat, lon & alt.

Returns
: The number of bytes that were written.

Reimplemented from SenMLRecord.

◆ get()

unsigned char * SenMLBinaryRecord::get ( )

◆ set()

bool SenMLBinaryRecord::set ( unsigned char *  value,
unsigned int  length,
double  time = NAN 
)

set the value and length. warning: value is not copied over. a direct reference to the buffer is stored, so if this memory is changed/freed, then the data stored in the object will also be changed.


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