rmw_fastrtps_dynamic_cpp  master
Implement the ROS middleware interface using eProsima FastRTPS dynamic code generation in C++.
All Classes Namespaces Files Functions Variables Typedefs Macros
Classes | Functions
rmw_fastrtps_dynamic_cpp Namespace Reference

Classes

class  BaseTypeSupport
 
struct  GenericCSequence
 
class  MessageTypeSupport
 
class  RequestTypeSupport
 
class  ResponseTypeSupport
 
struct  StringHelper
 
struct  StringHelper< rosidl_typesupport_introspection_c__MessageMembers >
 
struct  StringHelper< rosidl_typesupport_introspection_cpp::MessageMembers >
 
class  TypeSupport
 
class  TypeSupportProxy
 

Functions

eprosima::fastdds::dds::DataWriter * get_request_datawriter (rmw_client_t *client)
 Return a native Fast DDS DataWriter handle for the request. More...
 
eprosima::fastdds::dds::DataReader * get_response_datareader (rmw_client_t *client)
 Return a native Fast DDS DataReader handle for the response. More...
 
eprosima::fastdds::dds::DomainParticipant * get_domain_participant (rmw_node_t *node)
 Return a native Fast DDS DomainParticipant handle. More...
 
eprosima::fastdds::dds::DataWriter * get_datawriter (rmw_publisher_t *publisher)
 Return a native Fast DDS DataWriter handle. More...
 
eprosima::fastdds::dds::DataReader * get_request_datareader (rmw_service_t *service)
 Return a native Fast DDS DataReader handle for the request. More...
 
eprosima::fastdds::dds::DataWriter * get_response_datawriter (rmw_service_t *service)
 Return a native Fast DDS DataWriter handle for the response. More...
 
eprosima::fastdds::dds::DataReader * get_datareader (rmw_subscription_t *subscription)
 Return a native Fast DDS DataReader handle. More...
 
rmw_ret_t increment_context_impl_ref_count (rmw_context_t *context)
 Increment rmw_context_impl_t reference count, initializing it if necessary. More...
 
rmw_publisher_tcreate_publisher (const CustomParticipantInfo *participant_info, const rosidl_message_type_support_t *type_supports, const char *topic_name, const rmw_qos_profile_t *qos_policies, const rmw_publisher_options_t *publisher_options, bool keyed, bool create_publisher_listener)
 
rmw_subscription_tcreate_subscription (const CustomParticipantInfo *participant_info, const rosidl_message_type_support_t *type_supports, const char *topic_name, const rmw_qos_profile_t *qos_policies, const rmw_subscription_options_t *subscription_options, bool keyed, bool create_subscription_listener)
 
template<typename T >
void serialize_field (const rosidl_typesupport_introspection_cpp::MessageMember *member, void *field, eprosima::fastcdr::Cdr &ser)
 
template<>
void serialize_field< std::wstring > (const rosidl_typesupport_introspection_cpp::MessageMember *member, void *field, eprosima::fastcdr::Cdr &ser)
 
template<typename T >
void serialize_field (const rosidl_typesupport_introspection_c__MessageMember *member, void *field, eprosima::fastcdr::Cdr &ser)
 
template<>
void serialize_field< std::string > (const rosidl_typesupport_introspection_c__MessageMember *member, void *field, eprosima::fastcdr::Cdr &ser)
 
template<>
void serialize_field< std::wstring > (const rosidl_typesupport_introspection_c__MessageMember *member, void *field, eprosima::fastcdr::Cdr &ser)
 
template<typename T >
size_t next_field_align (const rosidl_typesupport_introspection_cpp::MessageMember *member, void *field, size_t current_alignment)
 
template<typename T >
size_t next_field_align_string (const rosidl_typesupport_introspection_cpp::MessageMember *member, void *field, size_t current_alignment)
 
template<typename T >
size_t next_field_align (const rosidl_typesupport_introspection_c__MessageMember *member, void *field, size_t current_alignment)
 
template<typename T >
size_t next_field_align_string (const rosidl_typesupport_introspection_c__MessageMember *member, void *field, size_t current_alignment)
 
template<>
size_t next_field_align_string< std::string > (const rosidl_typesupport_introspection_c__MessageMember *member, void *field, size_t current_alignment)
 
template<>
size_t next_field_align_string< std::wstring > (const rosidl_typesupport_introspection_c__MessageMember *member, void *field, size_t current_alignment)
 
template<typename T >
void deserialize_field (const rosidl_typesupport_introspection_cpp::MessageMember *member, void *field, eprosima::fastcdr::Cdr &deser)
 
template<>
void deserialize_field< std::string > (const rosidl_typesupport_introspection_cpp::MessageMember *member, void *field, eprosima::fastcdr::Cdr &deser)
 
template<>
void deserialize_field< std::wstring > (const rosidl_typesupport_introspection_cpp::MessageMember *member, void *field, eprosima::fastcdr::Cdr &deser)
 
template<typename T >
void deserialize_field (const rosidl_typesupport_introspection_c__MessageMember *member, void *field, eprosima::fastcdr::Cdr &deser)
 
template<>
void deserialize_field< std::string > (const rosidl_typesupport_introspection_c__MessageMember *member, void *field, eprosima::fastcdr::Cdr &deser)
 
template<>
void deserialize_field< std::wstring > (const rosidl_typesupport_introspection_c__MessageMember *member, void *field, eprosima::fastcdr::Cdr &deser)
 

Function Documentation

◆ get_request_datawriter()

eprosima::fastdds::dds::DataWriter* rmw_fastrtps_dynamic_cpp::get_request_datawriter ( rmw_client_t client)

Return a native Fast DDS DataWriter handle for the request.

The function returns NULL when either the client handle is NULL or when the client handle is from a different rmw implementation.

Returns
native Fast DDS DataWriter handle if successful, otherwise NULL

◆ get_response_datareader()

eprosima::fastdds::dds::DataReader* rmw_fastrtps_dynamic_cpp::get_response_datareader ( rmw_client_t client)

Return a native Fast DDS DataReader handle for the response.

The function returns NULL when either the client handle is NULL or when the client handle is from a different rmw implementation.

Returns
native Fast DDS DataReader handle if successful, otherwise NULL

◆ get_domain_participant()

eprosima::fastdds::dds::DomainParticipant* rmw_fastrtps_dynamic_cpp::get_domain_participant ( rmw_node_t node)

Return a native Fast DDS DomainParticipant handle.

The function returns NULL when either the node handle is NULL or when the node handle is from a different rmw implementation.

Returns
native Fast DDS DomainParticipant handle if successful, otherwise NULL

◆ get_datawriter()

eprosima::fastdds::dds::DataWriter* rmw_fastrtps_dynamic_cpp::get_datawriter ( rmw_publisher_t publisher)

Return a native Fast DDS DataWriter handle.

The function returns NULL when either the publisher handle is NULL or when the publisher handle is from a different rmw implementation.

Returns
native Fast DDS DataWriter handle if successful, otherwise NULL

◆ get_request_datareader()

eprosima::fastdds::dds::DataReader* rmw_fastrtps_dynamic_cpp::get_request_datareader ( rmw_service_t service)

Return a native Fast DDS DataReader handle for the request.

The function returns NULL when either the service handle is NULL or when the service handle is from a different rmw implementation.

Returns
native Fast DDS DataReader handle if successful, otherwise NULL

◆ get_response_datawriter()

eprosima::fastdds::dds::DataWriter* rmw_fastrtps_dynamic_cpp::get_response_datawriter ( rmw_service_t service)

Return a native Fast DDS DataWriter handle for the response.

The function returns NULL when either the service handle is NULL or when the service handle is from a different rmw implementation.

Returns
native Fast DDS DataWriter handle if successful, otherwise NULL

◆ get_datareader()

eprosima::fastdds::dds::DataReader* rmw_fastrtps_dynamic_cpp::get_datareader ( rmw_subscription_t subscription)

Return a native Fast DDS DataReader handle.

The function returns NULL when either the subscription handle is NULL or when the subscription handle is from a different rmw implementation.

Returns
native Fast DDS DataReader handle if successful, otherwise NULL

◆ increment_context_impl_ref_count()

rmw_ret_t rmw_fastrtps_dynamic_cpp::increment_context_impl_ref_count ( rmw_context_t context)

Increment rmw_context_impl_t reference count, initializing it if necessary.

Should be called when creating a node, and before using context->impl.

◆ create_publisher()

rmw_publisher_t* rmw_fastrtps_dynamic_cpp::create_publisher ( const CustomParticipantInfo participant_info,
const rosidl_message_type_support_t *  type_supports,
const char *  topic_name,
const rmw_qos_profile_t qos_policies,
const rmw_publisher_options_t publisher_options,
bool  keyed,
bool  create_publisher_listener 
)

◆ create_subscription()

rmw_subscription_t* rmw_fastrtps_dynamic_cpp::create_subscription ( const CustomParticipantInfo participant_info,
const rosidl_message_type_support_t *  type_supports,
const char *  topic_name,
const rmw_qos_profile_t qos_policies,
const rmw_subscription_options_t subscription_options,
bool  keyed,
bool  create_subscription_listener 
)

◆ serialize_field() [1/2]

template<typename T >
void rmw_fastrtps_dynamic_cpp::serialize_field ( const rosidl_typesupport_introspection_cpp::MessageMember *  member,
void *  field,
eprosima::fastcdr::Cdr &  ser 
)

◆ serialize_field< std::wstring >() [1/2]

template<>
void rmw_fastrtps_dynamic_cpp::serialize_field< std::wstring > ( const rosidl_typesupport_introspection_cpp::MessageMember *  member,
void *  field,
eprosima::fastcdr::Cdr &  ser 
)
inline

◆ serialize_field() [2/2]

template<typename T >
void rmw_fastrtps_dynamic_cpp::serialize_field ( const rosidl_typesupport_introspection_c__MessageMember *  member,
void *  field,
eprosima::fastcdr::Cdr &  ser 
)

◆ serialize_field< std::string >()

template<>
void rmw_fastrtps_dynamic_cpp::serialize_field< std::string > ( const rosidl_typesupport_introspection_c__MessageMember *  member,
void *  field,
eprosima::fastcdr::Cdr &  ser 
)
inline

◆ serialize_field< std::wstring >() [2/2]

template<>
void rmw_fastrtps_dynamic_cpp::serialize_field< std::wstring > ( const rosidl_typesupport_introspection_c__MessageMember *  member,
void *  field,
eprosima::fastcdr::Cdr &  ser 
)
inline

◆ next_field_align() [1/2]

template<typename T >
size_t rmw_fastrtps_dynamic_cpp::next_field_align ( const rosidl_typesupport_introspection_cpp::MessageMember *  member,
void *  field,
size_t  current_alignment 
)

◆ next_field_align_string() [1/2]

template<typename T >
size_t rmw_fastrtps_dynamic_cpp::next_field_align_string ( const rosidl_typesupport_introspection_cpp::MessageMember *  member,
void *  field,
size_t  current_alignment 
)

◆ next_field_align() [2/2]

template<typename T >
size_t rmw_fastrtps_dynamic_cpp::next_field_align ( const rosidl_typesupport_introspection_c__MessageMember *  member,
void *  field,
size_t  current_alignment 
)

◆ next_field_align_string() [2/2]

template<typename T >
size_t rmw_fastrtps_dynamic_cpp::next_field_align_string ( const rosidl_typesupport_introspection_c__MessageMember *  member,
void *  field,
size_t  current_alignment 
)

◆ next_field_align_string< std::string >()

template<>
size_t rmw_fastrtps_dynamic_cpp::next_field_align_string< std::string > ( const rosidl_typesupport_introspection_c__MessageMember *  member,
void *  field,
size_t  current_alignment 
)
inline

◆ next_field_align_string< std::wstring >()

template<>
size_t rmw_fastrtps_dynamic_cpp::next_field_align_string< std::wstring > ( const rosidl_typesupport_introspection_c__MessageMember *  member,
void *  field,
size_t  current_alignment 
)
inline

◆ deserialize_field() [1/2]

template<typename T >
void rmw_fastrtps_dynamic_cpp::deserialize_field ( const rosidl_typesupport_introspection_cpp::MessageMember *  member,
void *  field,
eprosima::fastcdr::Cdr &  deser 
)

◆ deserialize_field< std::string >() [1/2]

template<>
void rmw_fastrtps_dynamic_cpp::deserialize_field< std::string > ( const rosidl_typesupport_introspection_cpp::MessageMember *  member,
void *  field,
eprosima::fastcdr::Cdr &  deser 
)
inline

◆ deserialize_field< std::wstring >() [1/2]

template<>
void rmw_fastrtps_dynamic_cpp::deserialize_field< std::wstring > ( const rosidl_typesupport_introspection_cpp::MessageMember *  member,
void *  field,
eprosima::fastcdr::Cdr &  deser 
)
inline

◆ deserialize_field() [2/2]

template<typename T >
void rmw_fastrtps_dynamic_cpp::deserialize_field ( const rosidl_typesupport_introspection_c__MessageMember *  member,
void *  field,
eprosima::fastcdr::Cdr &  deser 
)

◆ deserialize_field< std::string >() [2/2]

template<>
void rmw_fastrtps_dynamic_cpp::deserialize_field< std::string > ( const rosidl_typesupport_introspection_c__MessageMember *  member,
void *  field,
eprosima::fastcdr::Cdr &  deser 
)
inline

◆ deserialize_field< std::wstring >() [2/2]

template<>
void rmw_fastrtps_dynamic_cpp::deserialize_field< std::wstring > ( const rosidl_typesupport_introspection_c__MessageMember *  member,
void *  field,
eprosima::fastcdr::Cdr &  deser 
)
inline