RMW desert 1.0
Loading...
Searching...
No Matches
Namespaces | Macros | Functions
MessageSerialization.h File Reference

Namespace containing serialization functions. More...

#include "CBorStream.h"
#include "CStringHelper.h"
#include "macros.h"
Include dependency graph for MessageSerialization.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  MessageSerialization
 Namespace containing serialization functions.
 

Macros

#define INTROSPECTION_C_MEMBER   rosidl_typesupport_introspection_c__MessageMember
 
#define INTROSPECTION_CPP_MEMBER   rosidl_typesupport_introspection_cpp::MessageMember
 
#define INTROSPECTION_C_MEMBERS   rosidl_typesupport_introspection_c__MessageMembers
 
#define INTROSPECTION_CPP_MEMBERS   rosidl_typesupport_introspection_cpp::MessageMembers
 
#define INTROSPECTION_C_SERVICE_MEMBERS   rosidl_typesupport_introspection_c__ServiceMembers
 
#define INTROSPECTION_CPP_SERVICE_MEMBERS   rosidl_typesupport_introspection_cpp::ServiceMembers
 

Functions

template<typename T >
void MessageSerialization::serialize_field (const INTROSPECTION_CPP_MEMBER *member, void *field, cbor::TxStream &stream)
 Serialize a C++ field.
 
template<typename T >
void MessageSerialization::serialize_field (const INTROSPECTION_C_MEMBER *member, void *field, cbor::TxStream &stream)
 Serialize a C field.
 
template<typename MembersType >
void MessageSerialization::serialize (const void *msg, const MembersType *casted_members, cbor::TxStream &stream)
 Serialize a ROS message, request or response.
 
template<typename T >
void MessageSerialization::deserialize_field (const INTROSPECTION_CPP_MEMBER *member, void *field, cbor::RxStream &stream)
 Deserialize a C++ field.
 
template<typename T >
void MessageSerialization::deserialize_field (const INTROSPECTION_C_MEMBER *member, void *field, cbor::RxStream &stream)
 Deserialize a C field.
 
template<typename MembersType >
void MessageSerialization::deserialize (void *msg, const MembersType *casted_members, cbor::RxStream &stream)
 Deserialize a ROS message, request or response.
 

Detailed Description

Namespace containing serialization functions.

The message data structure coming from upper layers is interpreted using type support informations passed by ROS2 during the creation of publishers, subscribers, clients and services. Those functions are used to compute the exact position that every data type must assume in memory an then calls TxStream or RxStream to receive or write them in the assigned location.

Author
Prof. Davide Costa