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

Wrapper for VoyantVersion messages. More...

#include <voyant_version_wrapper.hpp>

Inheritance diagram for VoyantVersionWrapper:
CapnpWrapper< VoyantVersion >

Public Member Functions

 VoyantVersionWrapper ()=default
 Default constructor.
 
 ~VoyantVersionWrapper () override=default
 Destructor.
 
 VoyantVersionWrapper (uint8_t major, uint8_t minor, uint8_t patch, VersionStatus status, VersionComponent component)
 Creates a new version with the specified components.
 
void fromProto (VoyantVersion::Reader reader) override
 Update wrapper fields from a reader.
 
void toProto (VoyantVersion::Builder &builder) const override
 Write wrapper fields to a builder.
 
void debugString (std::ostream &os) const override
 Generate a debug string representation.
 
uint8_t major () const
 Get major version number.
 
uint8_t minor () const
 Get minor version number.
 
uint8_t patch () const
 Get patch version number.
 
VersionStatus status () const
 Get version status.
 
VersionComponent component () const
 Get component type.
 
void setMajor (uint8_t major)
 Set major version number.
 
void setMinor (uint8_t minor)
 Set minor version number.
 
void setPatch (uint8_t patch)
 Set patch version number.
 
void setStatus (VersionStatus status)
 Set version status.
 
void setComponent (VersionComponent component)
 Set component type.
 
uint8_t flags () const
 Get combined status and component flags.
 
void setFlags (uint8_t flags)
 Set status and component from combined flags.
 
std::string toString () const
 Get string representation in semver format.
 
std::string toVerboseString () const
 Get detailed string representation.
 
uint32_t toU32Hash () const
 Convert version to a 32-bit hash.
 
bool isCompatible (const VoyantVersionWrapper &other) const
 Checks compatibility between proto versions.
 
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.
 

Static Public Member Functions

static VoyantVersionWrapper fromU32Hash (uint32_t hash)
 Creates a VoyantVersionWrapper from a 32-bit hash.
 

Detailed Description

Wrapper for VoyantVersion messages.

Constructor & Destructor Documentation

◆ VoyantVersionWrapper() [1/2]

VoyantVersionWrapper::VoyantVersionWrapper ( )
default

Default constructor.

◆ ~VoyantVersionWrapper()

VoyantVersionWrapper::~VoyantVersionWrapper ( )
overridedefault

Destructor.

◆ VoyantVersionWrapper() [2/2]

VoyantVersionWrapper::VoyantVersionWrapper ( uint8_t  major,
uint8_t  minor,
uint8_t  patch,
VersionStatus  status,
VersionComponent  component 
)

Creates a new version with the specified components.

Parameters
majorMajor version number
minorMinor version number
patchPatch version number
statusVersion status
componentVersion component type

Member Function Documentation

◆ component()

VersionComponent VoyantVersionWrapper::component ( ) const
inline

Get component type.

Returns
Component enum value

◆ debugString()

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

Generate a debug string representation.

Parameters
osThe output stream to write to

Implements CapnpWrapper< VoyantVersion >.

◆ flags()

uint8_t VoyantVersionWrapper::flags ( ) const

Get combined status and component flags.

Returns
8-bit flags value

◆ fromBuffer()

void CapnpWrapper< VoyantVersion >::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< VoyantVersion >::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 VoyantVersionWrapper::fromProto ( VoyantVersion::Reader  reader)
override

Update wrapper fields from a reader.

Parameters
readerThe VoyantVersion reader to extract data from

◆ fromU32Hash()

static VoyantVersionWrapper VoyantVersionWrapper::fromU32Hash ( uint32_t  hash)
static

Creates a VoyantVersionWrapper from a 32-bit hash.

Parameters
hashA 32-bit integer in MMNNPPSC format
Returns
New VoyantVersionWrapper object

The hash has the following bit layout: [31:24] - Major version (8 bits) [23:16] - Minor version (8 bits) [15:8] - Patch version (8 bits) [7:4] - Status (4 bits) [3:0] - Component type (4 bits)

◆ isCompatible()

bool VoyantVersionWrapper::isCompatible ( const VoyantVersionWrapper other) const

Checks compatibility between proto versions.

Parameters
otherThe other version to compare against
Returns
bool indicating compatibility

Currently versions are considered compatible if they have the same major and minor versions.

◆ major()

uint8_t VoyantVersionWrapper::major ( ) const
inline

Get major version number.

Returns
Major version (0-255)

◆ minor()

uint8_t VoyantVersionWrapper::minor ( ) const
inline

Get minor version number.

Returns
Minor version (0-255)

◆ patch()

uint8_t VoyantVersionWrapper::patch ( ) const
inline

Get patch version number.

Returns
Patch version (0-255)

◆ setComponent()

void VoyantVersionWrapper::setComponent ( VersionComponent  component)
inline

Set component type.

Parameters
componentComponent enum value

◆ setFlags()

void VoyantVersionWrapper::setFlags ( uint8_t  flags)

Set status and component from combined flags.

Parameters
flags8-bit flags value

◆ setMajor()

void VoyantVersionWrapper::setMajor ( uint8_t  major)
inline

Set major version number.

Parameters
majorMajor version value

◆ setMinor()

void VoyantVersionWrapper::setMinor ( uint8_t  minor)
inline

Set minor version number.

Parameters
minorMinor version value

◆ setPatch()

void VoyantVersionWrapper::setPatch ( uint8_t  patch)
inline

Set patch version number.

Parameters
patchPatch version value

◆ setStatus()

void VoyantVersionWrapper::setStatus ( VersionStatus  status)
inline

Set version status.

Parameters
statusStatus enum value

◆ status()

VersionStatus VoyantVersionWrapper::status ( ) const
inline

Get version status.

Returns
Status enum value

◆ toBuffer()

size_t CapnpWrapper< VoyantVersion >::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< VoyantVersion >::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 VoyantVersionWrapper::toProto ( VoyantVersion::Builder builder) const
override

Write wrapper fields to a builder.

Parameters
builderThe VoyantVersion builder to write data to

◆ toString()

std::string VoyantVersionWrapper::toString ( ) const

Get string representation in semver format.

Returns
Version as a string (e.g., "1.2.3-beta")

◆ toU32Hash()

uint32_t VoyantVersionWrapper::toU32Hash ( ) const

Convert version to a 32-bit hash.

Returns
32-bit hash in MMNNPPSC format

Returns a uint32_t with the following bit layout: [31:24] - Major version (MM) [23:16] - Minor version (NN) [15:8] - Patch version (PP) [7:4] - Status (S) [3:0] - Component type (C)

◆ toVerboseString()

std::string VoyantVersionWrapper::toVerboseString ( ) const

Get detailed string representation.

Returns
Verbose version string with component and status

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