SatCat5
satcat5::net::TelemetryCbor Class Referencefinal

Detailed Description

Legacy ephemeral wrapper class for the CBOR encoder.

Wraps io::CborMapWriter which replaces this functionality for more generic usage. This version is specialized for use with the net::TelemetrySource and net::TelemetryAggregator classes.

See also
net_telemetry.h, io::CborMapWriter.

Definition at line 105 of file net_telemetry.h.

#include <net_telemetry.h>

Inheritance diagram for satcat5::net::TelemetryCbor:
[legend]
Collaboration diagram for satcat5::net::TelemetryCbor:
[legend]

Public Member Functions

 TelemetryCbor ()
 Default constructor initializes both variants.
 
QCBOREncodeContext * open_list (s64 key)
 Add a list to the Map. More...
 
QCBOREncodeContext * open_list (s64 key)
 
QCBOREncodeContext * open_list (const char *key)
 
QCBOREncodeContext * open_map (s64 key)
 Add a nested dictionary to the Map. More...
 
QCBOREncodeContext * open_map (s64 key)
 
QCBOREncodeContext * open_map (const char *key)
 
void add_string (s64 key, const char *value) const
 Write a null-terminated string to the Map.
 
void add_null (s64 key) const
 Write a key with a null value to the Map.
 
bool close ()
 Close the QCBOR encoder by calling QCBOREncode_Finish and copy the resulting bytes to m_dst, if one was provided.
 
bool close_and_finalize ()
 Calls close() then m_dst.write_finalize().
 
UsefulBufC get_encoded ()
 Get encoded data as a UsefulBuf, useful if no dst was given. More...
 
satcat5::io::Readableget_buffer ()
 Get encoded data as a Readable, useful if no dst was given. More...
 
void close_list ()
 Finish writing a list to the List. More...
 
void close_map ()
 Finish writing a nested dictionary to the Map. More...
 
QCBOREncodeContext * open_list (const char * key)
 Add a list to the Map. More...
 
QCBOREncodeContext * open_list (s64 key)
 
QCBOREncodeContext * open_map (const char * key)
 Add a nested dictionary to the Map. More...
 
QCBOREncodeContext * open_map (s64 key)
 
void add_string (const char * key, const char *value) const
 Write a null-terminated string to the Map.
 
void add_null (const char * key) const
 Write a key with a null value to the Map.
 
void add_bool (s64 key, bool value) const
 Write a scalar value to the Map.
 
void add_item (s64 key, s8 value) const
 Write a scalar value to the Map.
 
void add_item (s64 key, s16 value) const
 Write a scalar value to the Map.
 
void add_item (s64 key, s32 value) const
 Write a scalar value to the Map.
 
void add_item (s64 key, s64 value) const
 Write a scalar value to the Map.
 
void add_item (s64 key, u8 value) const
 Write a scalar value to the Map.
 
void add_item (s64 key, u16 value) const
 Write a scalar value to the Map.
 
void add_item (s64 key, u32 value) const
 Write a scalar value to the Map.
 
void add_item (s64 key, u64 value) const
 Write a scalar value to the Map.
 
void add_item (s64 key, float value) const
 Write a scalar value to the Map.
 
void add_item (s64 key, double value) const
 Write a scalar value to the Map.
 
void add_bool (const char * key, bool value) const
 Write a scalar value to the Map.
 
void add_item (const char * key, s8 value) const
 Write a scalar value to the Map.
 
void add_item (const char * key, s16 value) const
 Write a scalar value to the Map.
 
void add_item (const char * key, s32 value) const
 Write a scalar value to the Map.
 
void add_item (const char * key, s64 value) const
 Write a scalar value to the Map.
 
void add_item (const char * key, u8 value) const
 Write a scalar value to the Map.
 
void add_item (const char * key, u16 value) const
 Write a scalar value to the Map.
 
void add_item (const char * key, u32 value) const
 Write a scalar value to the Map.
 
void add_item (const char * key, u64 value) const
 Write a scalar value to the Map.
 
void add_item (const char * key, float value) const
 Write a scalar value to the Map.
 
void add_item (const char * key, double value) const
 Write a scalar value to the Map.
 
void add_array (s64 key, u32 len, const bool *value) const
 Write an array of scalar values to the Map.
 
void add_array (s64 key, u32 len, const s8 *value) const
 Write an array of scalar values to the Map.
 
void add_array (s64 key, u32 len, const s16 *value) const
 Write an array of scalar values to the Map.
 
void add_array (s64 key, u32 len, const s32 *value) const
 Write an array of scalar values to the Map.
 
void add_array (s64 key, u32 len, const s64 *value) const
 Write an array of scalar values to the Map.
 
void add_array (s64 key, u32 len, const u8 *value) const
 Write an array of scalar values to the Map.
 
void add_array (s64 key, u32 len, const u16 *value) const
 Write an array of scalar values to the Map.
 
void add_array (s64 key, u32 len, const u32 *value) const
 Write an array of scalar values to the Map.
 
void add_array (s64 key, u32 len, const u64 *value) const
 Write an array of scalar values to the Map.
 
void add_array (s64 key, u32 len, const float *value) const
 Write an array of scalar values to the Map.
 
void add_array (s64 key, u32 len, const double *value) const
 Write an array of scalar values to the Map.
 
void add_array (const char * key, u32 len, const bool *value) const
 Write an array of scalar values to the Map.
 
void add_array (const char * key, u32 len, const s8 *value) const
 Write an array of scalar values to the Map.
 
void add_array (const char * key, u32 len, const s16 *value) const
 Write an array of scalar values to the Map.
 
void add_array (const char * key, u32 len, const s32 *value) const
 Write an array of scalar values to the Map.
 
void add_array (const char * key, u32 len, const s64 *value) const
 Write an array of scalar values to the Map.
 
void add_array (const char * key, u32 len, const u8 *value) const
 Write an array of scalar values to the Map.
 
void add_array (const char * key, u32 len, const u16 *value) const
 Write an array of scalar values to the Map.
 
void add_array (const char * key, u32 len, const u32 *value) const
 Write an array of scalar values to the Map.
 
void add_array (const char * key, u32 len, const u64 *value) const
 Write an array of scalar values to the Map.
 
void add_array (const char * key, u32 len, const float *value) const
 Write an array of scalar values to the Map.
 
void add_array (const char * key, u32 len, const double *value) const
 Write an array of scalar values to the Map.
 
void add_bytes (s64 key, u32 len, const u8 *value) const
 Write a byte sequence to the Map.
 
void add_bytes (s64 key, const u8 *value, u32 len) const
 Write a byte sequence to the Map.
 
void add_bytes (const char * key, u32 len, const u8 *value) const
 Write a byte sequence to the Map.
 
void add_bytes (const char * key, const u8 *value, u32 len) const
 Write a byte sequence to the Map.
 

Public Attributes

QCBOREncodeContext *const cbor
 QCBOR context pointer.
 

Protected Member Functions

void add_key (s64 key) const
 Templated function to write the correct key type to the Map.
 
void add_key (s64 key) const
 
void add_key (const char *key) const
 
template<typename T >
void add_unsigned_array (unsigned len, const T *value) const
 Templated function to add an array of unsigned values.
 
template<typename T >
void add_signed_array (unsigned len, const T *value) const
 Templated function to add an array of signed values.
 
void add_key (const char * key) const
 Templated function to write the correct key type to the Map.
 
void add_key (s64 key) const
 

Protected Attributes

satcat5::io::Writeable *const m_dst
 Writeable sink.
 
const u8 * m_encoded
 Encoded data.
 
unsigned m_encoded_len
 Encoded length.
 
u8 m_auto_close
 Auto-close QCBOR Type.
 
satcat5::io::ArrayRead m_read
 Reads working buffer.
 

Private Attributes

QCBOREncodeContext m_cbor
 
u8 m_raw [SATCAT5_QCBOR_BUFFER]
 

Member Function Documentation

◆ close_list()

void satcat5::cbor::CborWriter::close_list ( )
inlineinherited

Finish writing a list to the List.

When closing a List, the caller may use the original object that opened it or another CborWriter derived from the same context.

See also
ListWriter::open_list, MapWriter::open_list.

Definition at line 113 of file io_cbor.h.

◆ close_map()

void satcat5::cbor::CborWriter::close_map ( )
inlineinherited

Finish writing a nested dictionary to the Map.

When closing a Map, the caller may use the original object that opened it or another CborWriter derived from the same context.

See also
ListWriter::open_map, MapWriter::open_map.

Definition at line 120 of file io_cbor.h.

◆ get_buffer()

Readable * satcat5::cbor::CborWriter::get_buffer ( )
inherited

Get encoded data as a Readable, useful if no dst was given.

Automatically calls close() if the buffer is still open.

Definition at line 56 of file io_cbor.cc.

◆ get_encoded()

UsefulBufC satcat5::cbor::CborWriter::get_encoded ( )
inherited

Get encoded data as a UsefulBuf, useful if no dst was given.

Automatically calls close() if the buffer is still open.

Definition at line 51 of file io_cbor.cc.

◆ open_list() [1/2]

QCBOREncodeContext* satcat5::cbor::MapWriter< const char * >::open_list ( KEYTYPE  key)
inherited

Add a list to the Map.

See also
CborWriter::close_list. This allows creation of a key where the associated value is is an array or list of items with various type(s). The user should call open_list(), write values, then call close_map().

◆ open_list() [2/2]

QCBOREncodeContext* satcat5::cbor::MapWriter< s64 >::open_list ( s64  key)
inherited

Add a list to the Map.

See also
CborWriter::close_list. This allows creation of a key where the associated value is is an array or list of items with various type(s). The user should call open_list(), write values, then call close_map().

◆ open_map() [1/2]

QCBOREncodeContext* satcat5::cbor::MapWriter< const char * >::open_map ( KEYTYPE  key)
inherited

Add a nested dictionary to the Map.

See also
CborWriter::close_map. This allows creation of a key where the associated value is is a self-contained key/value dictionary. The user should call open_map(), write key/value pairs, then call close_map().

◆ open_map() [2/2]

QCBOREncodeContext* satcat5::cbor::MapWriter< s64 >::open_map ( s64  key)
inherited

Add a nested dictionary to the Map.

See also
CborWriter::close_map. This allows creation of a key where the associated value is is a self-contained key/value dictionary. The user should call open_map(), write key/value pairs, then call close_map().

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