Skip to content

Commit d8c2984

Browse files
committed
Added action template
1 parent 1884c46 commit d8c2984

File tree

4 files changed

+16
-9
lines changed

4 files changed

+16
-9
lines changed

examples/minimal_action_client_server/Cargo.toml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,3 @@ version = "0.3"
2424

2525
[dependencies.action_msgs]
2626
version = "*"
27-
28-
[package.metadata.ros]
29-
install_to_share = ["launch"]

examples/minimal_action_client_server/src/minimal_action_server.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ use anyhow::{Error, Result};
55
fn main() -> Result<(), Error> {
66
let context = rclrs::Context::new(env::args())?;
77

8-
let mut node = rclrs::create_node(&context, "minimal_action_server")?;
8+
let node = rclrs::create_node(&context, "minimal_action_server")?;
99

1010
rclrs::spin(&node).map_err(|err| err.into())
1111
}

rosidl_generator_rs/cmake/rosidl_generator_rs_generate_interfaces.cmake

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -53,13 +53,13 @@ foreach(_idl_file ${rosidl_generate_interfaces_ABS_IDL_FILES})
5353

5454
if(_parent_folder STREQUAL "msg")
5555
set(_has_msg TRUE)
56-
set(_idl_file_without_actions ${_idl_file_without_actions} ${_idl_file})
56+
set(_idl_files ${_idl_files} ${_idl_file})
5757
elseif(_parent_folder STREQUAL "srv")
5858
set(_has_srv TRUE)
59-
set(_idl_file_without_actions ${_idl_file_without_actions} ${_idl_file})
59+
set(_idl_files ${_idl_files} ${_idl_file})
6060
elseif(_parent_folder STREQUAL "action")
6161
set(_has_action TRUE)
62-
message(WARNING "Rust actions generation is not implemented")
62+
set(_idl_files ${_idl_files} ${_idl_file})
6363
else()
6464
message(FATAL_ERROR "Interface file with unknown parent folder: ${_idl_file}")
6565
endif()
@@ -107,12 +107,13 @@ endforeach()
107107
set(target_dependencies
108108
"${rosidl_generator_rs_BIN}"
109109
${rosidl_generator_rs_GENERATOR_FILES}
110+
"${rosidl_generator_rs_TEMPLATE_DIR}/action.rs.em"
110111
"${rosidl_generator_rs_TEMPLATE_DIR}/msg_idiomatic.rs.em"
111112
"${rosidl_generator_rs_TEMPLATE_DIR}/msg_rmw.rs.em"
112113
"${rosidl_generator_rs_TEMPLATE_DIR}/msg.rs.em"
113114
"${rosidl_generator_rs_TEMPLATE_DIR}/srv.rs.em"
114115
${rosidl_generate_interfaces_ABS_IDL_FILES}
115-
${_idl_file_without_actions}
116+
${_idl_files}
116117
${_dependency_files})
117118
foreach(dep ${target_dependencies})
118119
if(NOT EXISTS "${dep}")
@@ -125,7 +126,7 @@ rosidl_write_generator_arguments(
125126
"${generator_arguments_file}"
126127
PACKAGE_NAME "${PROJECT_NAME}"
127128
IDL_TUPLES "${rosidl_generate_interfaces_IDL_TUPLES}"
128-
ROS_INTERFACE_FILES "${_idl_file_without_actions}"
129+
ROS_INTERFACE_FILES "${_idl_files}"
129130
ROS_INTERFACE_DEPENDENCIES "${_dependencies}"
130131
OUTPUT_DIR "${_output_path}"
131132
TEMPLATE_DIR "${rosidl_generator_rs_TEMPLATE_DIR}"
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
@{
2+
TEMPLATE(
3+
'msg_idiomatic.rs.em',
4+
package_name=package_name, interface_path=interface_path,
5+
msg_specs=msg_specs,
6+
get_rs_name=get_rs_name, get_rmw_rs_type=get_rmw_rs_type,
7+
get_idiomatic_rs_type=get_idiomatic_rs_type,
8+
constant_value_to_rs=constant_value_to_rs)
9+
}@

0 commit comments

Comments
 (0)