Voyant API 0.2.1
Loading...
Searching...
No Matches
Public Member Functions | List of all members
VoyantHeaderWrapper Class Referenceabstract

Wrapper for VoyantHeader messages. More...

#include <voyant_header_wrapper.hpp>

Inheritance diagram for VoyantHeaderWrapper:
CapnpWrapper< VoyantHeader >

Public Member Functions

 VoyantHeaderWrapper ()=default
 Default constructor.
 
 ~VoyantHeaderWrapper () override=default
 Destructor.
 
void fromProto (VoyantHeader::Reader reader) override
 Update wrapper fields from a Cap'n Proto reader.
 
void toProto (VoyantHeader::Builder &builder) const override
 Write wrapper fields to a Cap'n Proto builder.
 
void debugString (std::ostream &os) const override
 Generate a debug string representation.
 
std::string deviceId () const
 Get formatted device ID string.
 
DeviceClass deviceClass () const
 Get device class.
 
uint16_t deviceNumber () const
 Get device number.
 
MessageType messageType () const
 Get message type.
 
int64_t timestampSeconds () const
 Get timestamp seconds.
 
int32_t timestampNanoseconds () const
 Get timestamp nanoseconds.
 
uint32_t frameIndex () const
 Get frame index.
 
const VoyantVersionWrapperprotoVersion () const
 Get protocol version information.
 
VoyantVersionWrapperprotoVersionMut ()
 Get mutable protocol version object.
 
const VoyantVersionWrapperapiVersion () const
 Get API version information.
 
VoyantVersionWrapperapiVersionMut ()
 Get mutable API version object.
 
const VoyantVersionWrapperfirmwareVersion () const
 Get firmware version information.
 
VoyantVersionWrapperfirmwareVersionMut ()
 Get mutable firmware version object.
 
const VoyantVersionWrapperhdlVersion () const
 Get HDL version information.
 
VoyantVersionWrapperhdlVersionMut ()
 Get mutable HDL version object.
 
void setDeviceClass (DeviceClass value)
 Set device class.
 
void setDeviceNumber (uint16_t value)
 Set device number.
 
void setMessageType (MessageType value)
 Set message type.
 
void setTimestampSeconds (int64_t value)
 Set timestamp seconds.
 
void setTimestampNanoseconds (int32_t value)
 Set timestamp nanoseconds.
 
void setFrameIndex (uint32_t value)
 Set frame index.
 
bool setVersion (uint8_t major, uint8_t minor, uint8_t patch, VersionStatus status, VersionComponent component)
 Helper method to set version details for a specific component.
 
virtual void fromProto (typename T::Reader reader)=0
 Update wrapper fields from a Cap'n Proto reader.
 
virtual void toProto (typename T::Builder &builder) const=0
 Write wrapper fields to a Cap'n Proto builder.
 
void fromBuffer (const uint8_t *buffer, size_t size)
 Update wrapper fields from a serialized message buffer.
 
size_t toBuffer (uint8_t *buffer, size_t buffer_size) const
 Serialize this wrapper to a buffer using Cap'n Proto format.
 

Detailed Description

Wrapper for VoyantHeader messages.

Provides a C++ interface for handling Voyant message headers with metadata about device identity, message type, timestamps, and version information.

Constructor & Destructor Documentation

◆ VoyantHeaderWrapper()

VoyantHeaderWrapper::VoyantHeaderWrapper ( )
default

Default constructor.

◆ ~VoyantHeaderWrapper()

VoyantHeaderWrapper::~VoyantHeaderWrapper ( )
overridedefault

Destructor.

Member Function Documentation

◆ apiVersion()

const VoyantVersionWrapper & VoyantHeaderWrapper::apiVersion ( ) const
inline

Get API version information.

Returns
Const reference to API version

◆ apiVersionMut()

VoyantVersionWrapper & VoyantHeaderWrapper::apiVersionMut ( )
inline

Get mutable API version object.

Returns
Reference to API version

◆ debugString()

void VoyantHeaderWrapper::debugString ( std::ostream &  os) const
overridevirtual

Generate a debug string representation.

Parameters
osThe output stream to write to

Implements CapnpWrapper< VoyantHeader >.

◆ deviceClass()

DeviceClass VoyantHeaderWrapper::deviceClass ( ) const
inline

Get device class.

Returns
Device class enum value

◆ deviceId()

std::string VoyantHeaderWrapper::deviceId ( ) const

Get formatted device ID string.

Returns
String with device class and number

◆ deviceNumber()

uint16_t VoyantHeaderWrapper::deviceNumber ( ) const
inline

Get device number.

Returns
Device number

◆ firmwareVersion()

const VoyantVersionWrapper & VoyantHeaderWrapper::firmwareVersion ( ) const
inline

Get firmware version information.

Returns
Const reference to firmware version

◆ firmwareVersionMut()

VoyantVersionWrapper & VoyantHeaderWrapper::firmwareVersionMut ( )
inline

Get mutable firmware version object.

Returns
Reference to firmware version

◆ frameIndex()

uint32_t VoyantHeaderWrapper::frameIndex ( ) const
inline

Get frame index.

Returns
Frame counter value

◆ fromBuffer()

void CapnpWrapper< VoyantHeader >::fromBuffer ( const uint8_t *  buffer,
size_t  size 
)
inlineinherited

Update wrapper fields from a serialized message buffer.

Parameters
bufferPointer to the buffer containing serialized Cap'n Proto data
sizeSize of the buffer in bytes

◆ fromProto() [1/2]

virtual void CapnpWrapper< VoyantHeader >::fromProto ( typename T::Reader  reader)
pure virtualinherited

Update wrapper fields from a Cap'n Proto reader.

Parameters
readerThe Cap'n Proto reader to extract data from

◆ fromProto() [2/2]

void VoyantHeaderWrapper::fromProto ( VoyantHeader::Reader  reader)
override

Update wrapper fields from a Cap'n Proto reader.

Parameters
readerThe VoyantHeader reader to extract data from

◆ hdlVersion()

const VoyantVersionWrapper & VoyantHeaderWrapper::hdlVersion ( ) const
inline

Get HDL version information.

Returns
Const reference to HDL version

◆ hdlVersionMut()

VoyantVersionWrapper & VoyantHeaderWrapper::hdlVersionMut ( )
inline

Get mutable HDL version object.

Returns
Reference to HDL version

◆ messageType()

MessageType VoyantHeaderWrapper::messageType ( ) const
inline

Get message type.

Returns
Message type enum value

◆ protoVersion()

const VoyantVersionWrapper & VoyantHeaderWrapper::protoVersion ( ) const
inline

Get protocol version information.

Returns
Const reference to protocol version

◆ protoVersionMut()

VoyantVersionWrapper & VoyantHeaderWrapper::protoVersionMut ( )
inline

Get mutable protocol version object.

Returns
Reference to protocol version

◆ setDeviceClass()

void VoyantHeaderWrapper::setDeviceClass ( DeviceClass  value)
inline

Set device class.

Parameters
valueDevice class enum value

◆ setDeviceNumber()

void VoyantHeaderWrapper::setDeviceNumber ( uint16_t  value)
inline

Set device number.

Parameters
valueDevice number

◆ setFrameIndex()

void VoyantHeaderWrapper::setFrameIndex ( uint32_t  value)
inline

Set frame index.

Parameters
valueFrame counter value

◆ setMessageType()

void VoyantHeaderWrapper::setMessageType ( MessageType  value)
inline

Set message type.

Parameters
valueMessage type enum value

◆ setTimestampNanoseconds()

void VoyantHeaderWrapper::setTimestampNanoseconds ( int32_t  value)
inline

Set timestamp nanoseconds.

Parameters
valueNanoseconds component of timestamp

◆ setTimestampSeconds()

void VoyantHeaderWrapper::setTimestampSeconds ( int64_t  value)
inline

Set timestamp seconds.

Parameters
valueSeconds component of timestamp

◆ setVersion()

bool VoyantHeaderWrapper::setVersion ( uint8_t  major,
uint8_t  minor,
uint8_t  patch,
VersionStatus  status,
VersionComponent  component 
)

Helper method to set version details for a specific component.

Parameters
majorMajor version number
minorMinor version number
patchPatch version number
statusVersion status
componentComponent type
Returns
True if version was set successfully

◆ timestampNanoseconds()

int32_t VoyantHeaderWrapper::timestampNanoseconds ( ) const
inline

Get timestamp nanoseconds.

Returns
Nanoseconds component of timestamp

◆ timestampSeconds()

int64_t VoyantHeaderWrapper::timestampSeconds ( ) const
inline

Get timestamp seconds.

Returns
Seconds component of timestamp

◆ toBuffer()

size_t CapnpWrapper< VoyantHeader >::toBuffer ( uint8_t *  buffer,
size_t  buffer_size 
) const
inlineinherited

Serialize this wrapper to a buffer using Cap'n Proto format.

Parameters
bufferPointer to the buffer to write serialized data to
buffer_sizeSize of the buffer in bytes
Returns
The number of bytes written to the buffer
Exceptions
std::runtime_errorif the buffer is too small

◆ toProto() [1/2]

virtual void CapnpWrapper< VoyantHeader >::toProto ( typename T::Builder &  builder) const
pure virtualinherited

Write wrapper fields to a Cap'n Proto builder.

Parameters
builderThe Cap'n Proto builder to write data to

◆ toProto() [2/2]

void VoyantHeaderWrapper::toProto ( VoyantHeader::Builder builder) const
override

Write wrapper fields to a Cap'n Proto builder.

Parameters
builderThe VoyantHeader builder to write data to

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