nano-client API Reference
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
XRCE Objects

Data Structures

struct  NANO_XRCE_ObjectId
 Identifier for implementors of the XRCE protocol. More...
 

Macros

#define NANO_XRCE_OBJECTID_INVALID   { { 0x00, 0x00 }}
 Initializer for for an invalid NANO_XRCE_ObjectId.
 
#define NANO_XRCE_OBJK_AGENT   ((NANO_XRCE_ObjectKind)0x0D)
 NANO_XRCE_ObjectKind value for XRCE Agent instances.
 
#define NANO_XRCE_OBJK_APPLICATION   ((NANO_XRCE_ObjectKind)0x0C)
 NANO_XRCE_ObjectKind value for XRCE Application instances.
 
#define NANO_XRCE_OBJK_CLIENT   ((NANO_XRCE_ObjectKind)0x0E)
 NANO_XRCE_ObjectKind value for XRCE Client instances.
 
#define NANO_XRCE_OBJK_DATAREADER   ((NANO_XRCE_ObjectKind)0x06)
 NANO_XRCE_ObjectKind value for XRCE DataReader instances.
 
#define NANO_XRCE_OBJK_DATAWRITER   ((NANO_XRCE_ObjectKind)0x05)
 NANO_XRCE_ObjectKind value for XRCE DataWriter instances.
 
#define NANO_XRCE_OBJK_DOMAIN   ((NANO_XRCE_ObjectKind)0x07)
 NANO_XRCE_ObjectKind value for XRCE Domain instances.
 
#define NANO_XRCE_OBJK_INVALID   ((NANO_XRCE_ObjectKind)0x00)
 NANO_XRCE_ObjectKind value to identify invalid XRCE Objects.
 
#define NANO_XRCE_OBJK_PARTICIPANT   ((NANO_XRCE_ObjectKind)0x01)
 NANO_XRCE_ObjectKind value for XRCE DomainParticipant instances.
 
#define NANO_XRCE_OBJK_PUBLISHER   ((NANO_XRCE_ObjectKind)0x03)
 NANO_XRCE_ObjectKind value for XRCE Publisher instances.
 
#define NANO_XRCE_OBJK_QOSPROFILE   ((NANO_XRCE_ObjectKind)0x0B)
 NANO_XRCE_ObjectKind value for XRCE QosProfile instances.
 
#define NANO_XRCE_OBJK_SUBSCRIBER   ((NANO_XRCE_ObjectKind)0x04)
 NANO_XRCE_ObjectKind value for XRCE Subscriber instances.
 
#define NANO_XRCE_OBJK_TOPIC   ((NANO_XRCE_ObjectKind)0x02)
 NANO_XRCE_ObjectKind value for XRCE Topic instances.
 
#define NANO_XRCE_OBJK_TYPE   ((NANO_XRCE_ObjectKind)0x0A)
 NANO_XRCE_ObjectKind value for XRCE Type instances.
 
#define NANO_XRCE_REPRESENTATION_AS_XML_STRING   ((NANO_XRCE_RepresentationFormat)0x02)
 TODO.
 
#define NANO_XRCE_REPRESENTATION_IN_BINARY   ((NANO_XRCE_RepresentationFormat)0x03)
 TODO.
 
#define NANO_XRCE_REPRESENTATION_INVALID   ((NANO_XRCE_RepresentationFormat)0x00)
 TODO.
 

Typedefs

typedef NANO_u8 NANO_XRCE_ObjectKind
 A type to represent the different kinds of XRCE objects.
 
typedef NANO_u8 NANO_XRCE_RepresentationFormat
 TODO.
 

Functions

void NANO_XRCE_ObjectId_combine (const NANO_XRCE_ObjectId *const self, const NANO_XRCE_ObjectKind kind, NANO_XRCE_ObjectId *const id_out)
 Combine a NANO_XRCE_ObjectId with a type identifier. More...
 
NANO_i8 NANO_XRCE_ObjectId_compare (const NANO_XRCE_ObjectId *const self, const NANO_XRCE_ObjectId *const other)
 TODO. More...
 
void NANO_XRCE_ObjectId_from_u16 (NANO_XRCE_ObjectId *const self, NANO_u16 val)
 Fill a NANO_XRCE_ObjectId from a NANO_u16. More...
 
NANO_XRCE_ObjectKind NANO_XRCE_ObjectId_kind (NANO_XRCE_ObjectId *self)
 Extract a NANO_XRCE_ObjectKind value from a NANO_XRCE_ObjectId. More...
 
void NANO_XRCE_ObjectId_set (const NANO_XRCE_ObjectId *const self, const NANO_XRCE_ObjectKind kind, const NANO_u16 base_id)
 TODO. More...
 
NANO_u16 NANO_XRCE_ObjectId_to_u16 (const NANO_XRCE_ObjectId *const self)
 Convert a NANO_XRCE_ObjectId to a NANO_u16. More...
 
NANO_bool NANO_XRCE_ObjectKind_is_valid (const NANO_XRCE_ObjectKind self)
 Check if a NANO_XRCE_ObjectKind is valid. More...
 
NANO_bool NANO_XRCE_RepresentationFormat_is_valid (const NANO_XRCE_RepresentationFormat *const self)
 TODO. More...
 

Detailed Description

Function Documentation

◆ NANO_XRCE_ObjectId_combine()

void NANO_XRCE_ObjectId_combine ( const NANO_XRCE_ObjectId *const  self,
const NANO_XRCE_ObjectKind  kind,
NANO_XRCE_ObjectId *const  id_out 
)

Combine a NANO_XRCE_ObjectId with a type identifier.

Parameters
selfThe NANO_XRCE_ObjectId to be used as prefix.
kindThe NANO_XRCE_ObjectKind describing the type of XRCE object.
id_outThe combined NANO_XRCE_ObjectId.

◆ NANO_XRCE_ObjectId_compare()

NANO_i8 NANO_XRCE_ObjectId_compare ( const NANO_XRCE_ObjectId *const  self,
const NANO_XRCE_ObjectId *const  other 
)

TODO.

Parameters
self
other
Returns
NANO_i8

◆ NANO_XRCE_ObjectId_from_u16()

void NANO_XRCE_ObjectId_from_u16 ( NANO_XRCE_ObjectId *const  self,
NANO_u16  val 
)

Fill a NANO_XRCE_ObjectId from a NANO_u16.

Parameters
selfThe NANO_XRCE_ObjectId to fill in
valThe value to set.

◆ NANO_XRCE_ObjectId_kind()

NANO_XRCE_ObjectKind NANO_XRCE_ObjectId_kind ( NANO_XRCE_ObjectId self)

Extract a NANO_XRCE_ObjectKind value from a NANO_XRCE_ObjectId.

Parameters
selfThe NANO_XRCE_ObjectId to analyze.
Returns
a NANO_u16 value, encoded in Big-Endian endianness.

◆ NANO_XRCE_ObjectId_set()

void NANO_XRCE_ObjectId_set ( const NANO_XRCE_ObjectId *const  self,
const NANO_XRCE_ObjectKind  kind,
const NANO_u16  base_id 
)

TODO.

Parameters
self
kind
base_id

◆ NANO_XRCE_ObjectId_to_u16()

NANO_u16 NANO_XRCE_ObjectId_to_u16 ( const NANO_XRCE_ObjectId *const  self)

Convert a NANO_XRCE_ObjectId to a NANO_u16.

Parameters
selfThe NANO_XRCE_ObjectId to convert.
Returns
a NANO_u16 value, encoded in Big-Endian endianness.

◆ NANO_XRCE_ObjectKind_is_valid()

NANO_bool NANO_XRCE_ObjectKind_is_valid ( const NANO_XRCE_ObjectKind  self)

Check if a NANO_XRCE_ObjectKind is valid.

Parameters
selfthe value to check
Returns
NANO_BOOL_TRUE if the specified value is one of the known constants, NANO_BOOL_FALSE otherwise.

◆ NANO_XRCE_RepresentationFormat_is_valid()

NANO_bool NANO_XRCE_RepresentationFormat_is_valid ( const NANO_XRCE_RepresentationFormat *const  self)

TODO.

Parameters
self
Returns
NANO_bool