Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[20310] Feature: topic keys with non breaking ABI #2

Open
wants to merge 25 commits into
base: vulcanexus
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
1140912
Refs #20156: Initial infraestructure for get_key_type_support() api m…
Mario-DL Dec 19, 2023
ae41c59
Refs #20156: Return either true or false depending if the msg has keys
Mario-DL Dec 20, 2023
ba1542b
Refs #20156: Update message_type_support_key_callbacks_t structure
Mario-DL Jan 30, 2024
c95f399
Refs #20156: Implement rosidl_typesupport_fastrtps_c generator method…
Mario-DL Jan 30, 2024
6452b9c
Refs #20156: Implement rosidl_typesupport_fastrtps_cpp generator meth…
Mario-DL Jan 30, 2024
7bd1b92
Refs #20310: Define v2 ABI identifier
Mario-DL Feb 8, 2024
955a8ec
Refs #20310: Replace get_key_type_support() with a raw pointer to the…
Mario-DL Feb 8, 2024
4c441b8
Refs #20151: Clean unsued old methods
Mario-DL Feb 15, 2024
65eb3a4
Refs #20151: set _key as suffix in get_serialized and calculate_max_s…
Mario-DL Feb 23, 2024
76ce335
Refs #20151: rosidl_typesupport_fastrtps_c: export key methods to be …
Mario-DL Feb 23, 2024
ecd186e
Refs #20151: rosidl_typesupport_fastrtps_c: source file forward decla…
Mario-DL Feb 23, 2024
57cb023
Refs #20151: rosidl_typesupport_fastrtps_c: generator refactor: gener…
Mario-DL Feb 23, 2024
0ad1b5c
Refs #20151: rosidl_typesupport_fastrtps_c: generator refactor: gener…
Mario-DL Feb 23, 2024
7c87bf1
Refs #20151: rosidl_typesupport_fastrtps_c: generator refactor: gener…
Mario-DL Feb 23, 2024
bb61339
Refs #20151: rosidl_typesupport_fastrtps_c: update suffix in __key_ca…
Mario-DL Feb 23, 2024
155e31f
Refs #20151: rosidl_typesupport_fastrtps_c: avoid generating cdr_seri…
Mario-DL Feb 23, 2024
da232fe
Refs #20151: rosidl_typesupport_fastrtps_cpp: export key methods to b…
Mario-DL Feb 23, 2024
bdeaa95
Refs #20151: rosidl_typesupport_fastrtps_cpp: source file forward dec…
Mario-DL Feb 23, 2024
01b1ec1
Refs #20151: rosidl_typesupport_fastrtps_cpp: generator refactor: gen…
Mario-DL Feb 23, 2024
b769e7b
Refs #20151: rosidl_typesupport_fastrtps_cpp: generator refactor: gen…
Mario-DL Feb 23, 2024
46208a3
Refs #20151: rosidl_typesupport_fastrtps_cpp: generator refactor: gen…
Mario-DL Feb 23, 2024
09504e8
Refs #20151: rosidl_typesupport_fastrtps_cpp: dummy cdr_deserialize_k…
Mario-DL Feb 23, 2024
af48357
Refs #20151: rosidl_typesupport_fastrtps_cpp: update suffix in __key_…
Mario-DL Feb 23, 2024
0400104
Refs #20310: Review 2 suggestions on rosidl_typesupport_fastrtps_cpp
Mario-DL Feb 28, 2024
491fea2
Refs #20310: Review 2 suggestions on rosidl_typesupport_fastrtps_c
Mario-DL Feb 28, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,10 @@ extern "C"
ROSIDL_TYPESUPPORT_FASTRTPS_C_PUBLIC
extern const char * rosidl_typesupport_fastrtps_c__identifier;

/// String identifier specific to rosidl_typesupport_fastrtps_c_v2
ROSIDL_TYPESUPPORT_FASTRTPS_C_PUBLIC
extern const char * rosidl_typesupport_fastrtps_c__identifier_v2;
MiguelCompany marked this conversation as resolved.
Show resolved Hide resolved

#if __cplusplus
}
#endif
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,19 @@
@# Included from rosidl_typesupport_fastrtps_c/resource/idl__rosidl_typesupport_fastrtps_c.h.em
@{

from rosidl_pycommon import convert_camel_case_to_lower_case_underscore

include_parts = [package_name] + list(interface_path.parents[0].parts) + [
'detail', convert_camel_case_to_lower_case_underscore(interface_path.stem)]
include_base = '/'.join(include_parts)

header_files = [
'stddef.h',
'rosidl_runtime_c/message_type_support_struct.h',
'rosidl_typesupport_interface/macros.h',
package_name + '/msg/rosidl_typesupport_fastrtps_c__visibility_control.h',
include_base + '__struct.h',
'fastcdr/Cdr.h',
]
}@
@[for header_file in header_files]@
Expand All @@ -26,6 +35,16 @@ extern "C"
{
#endif

ROSIDL_TYPESUPPORT_FASTRTPS_C_PUBLIC_@(package_name)
bool cdr_serialize_@('__'.join([package_name] + list(interface_path.parents[0].parts) + [message.structure.namespaced_type.name]))(
const @('__'.join(message.structure.namespaced_type.namespaced_name())) * ros_message,
eprosima::fastcdr::Cdr & cdr);

ROSIDL_TYPESUPPORT_FASTRTPS_C_PUBLIC_@(package_name)
bool cdr_deserialize_@('__'.join([package_name] + list(interface_path.parents[0].parts) + [message.structure.namespaced_type.name]))(
eprosima::fastcdr::Cdr &,
@('__'.join(message.structure.namespaced_type.namespaced_name())) * ros_message);

ROSIDL_TYPESUPPORT_FASTRTPS_C_PUBLIC_@(package_name)
size_t get_serialized_size_@('__'.join([package_name] + list(interface_path.parents[0].parts) + [message.structure.namespaced_type.name]))(
const void * untyped_ros_message,
Expand All @@ -37,6 +56,27 @@ size_t max_serialized_size_@('__'.join([package_name] + list(interface_path.pare
bool & is_plain,
size_t current_alignment);

ROSIDL_TYPESUPPORT_FASTRTPS_C_PUBLIC_@(package_name)
bool cdr_serialize_key_@('__'.join([package_name] + list(interface_path.parents[0].parts) + [message.structure.namespaced_type.name]))(
const @('__'.join(message.structure.namespaced_type.namespaced_name())) * ros_message,
eprosima::fastcdr::Cdr & cdr);

ROSIDL_TYPESUPPORT_FASTRTPS_C_PUBLIC_@(package_name)
bool cdr_deserialize_key_@('__'.join([package_name] + list(interface_path.parents[0].parts) + [message.structure.namespaced_type.name]))(
eprosima::fastcdr::Cdr &,
@('__'.join(message.structure.namespaced_type.namespaced_name())) * ros_message);

ROSIDL_TYPESUPPORT_FASTRTPS_C_PUBLIC_@(package_name)
size_t get_serialized_size_key_@('__'.join([package_name] + list(interface_path.parents[0].parts) + [message.structure.namespaced_type.name]))(
const void * untyped_ros_message,
size_t current_alignment);

ROSIDL_TYPESUPPORT_FASTRTPS_C_PUBLIC_@(package_name)
size_t max_serialized_size_key_@('__'.join([package_name] + list(interface_path.parents[0].parts) + [message.structure.namespaced_type.name]))(
bool & full_bounded,
bool & is_plain,
size_t current_alignment);

ROSIDL_TYPESUPPORT_FASTRTPS_C_PUBLIC_@(package_name)
const rosidl_message_type_support_t *
ROSIDL_TYPESUPPORT_INTERFACE__MESSAGE_SYMBOL_NAME(rosidl_typesupport_fastrtps_c, @(', '.join([package_name] + list(interface_path.parents[0].parts) + [message.structure.namespaced_type.name])))();
Expand Down
Loading