From ad01336d0af4318f325d0d54743831a6ab8af394 Mon Sep 17 00:00:00 2001 From: databall-official Date: Mon, 10 Aug 2026 16:55:14 +0800 Subject: [PATCH] update camera --- install/_local_setup_util_ps1.py | 41 +- install/_local_setup_util_sh.py | 45 +- .../rosidl_generator_c__visibility_control.h | 42 ++ ...sidl_generator_cpp__visibility_control.hpp | 42 ++ ...pesupport_fastrtps_c__visibility_control.h | 43 ++ ...support_fastrtps_cpp__visibility_control.h | 43 ++ ...port_introspection_c__visibility_control.h | 43 ++ .../srv/detail/get_visual_topics__builder.hpp | 146 +++++ .../srv/detail/get_visual_topics__functions.c | 535 +++++++++++++++++ .../srv/detail/get_visual_topics__functions.h | 329 ++++++++++ ...al_topics__rosidl_typesupport_fastrtps_c.h | 89 +++ ...opics__rosidl_typesupport_fastrtps_cpp.hpp | 177 ++++++ ...pics__rosidl_typesupport_introspection_c.h | 47 ++ ...__rosidl_typesupport_introspection_cpp.hpp | 67 +++ .../srv/detail/get_visual_topics__struct.h | 69 +++ .../srv/detail/get_visual_topics__struct.hpp | 290 +++++++++ .../srv/detail/get_visual_topics__traits.hpp | 391 ++++++++++++ .../detail/get_visual_topics__type_support.c | 506 ++++++++++++++++ .../get_visual_topics__type_support.cpp | 567 ++++++++++++++++++ .../detail/get_visual_topics__type_support.h | 58 ++ .../get_visual_topics__type_support.hpp | 71 +++ .../bcr_bot/bcr_bot/srv/get_visual_topics.h | 12 + .../bcr_bot/bcr_bot/srv/get_visual_topics.hpp | 12 + .../lib/bcr_bot/visual_topic_classifier.py | 151 +++++ .../lib/libbcr_bot__rosidl_generator_c.so | Bin 0 -> 26216 bytes .../lib/libbcr_bot__rosidl_generator_py.so | Bin 0 -> 25800 bytes .../lib/libbcr_bot__rosidl_typesupport_c.so | Bin 0 -> 17792 bytes .../lib/libbcr_bot__rosidl_typesupport_cpp.so | Bin 0 -> 18776 bytes ...bbcr_bot__rosidl_typesupport_fastrtps_c.so | Bin 0 -> 33056 bytes ...cr_bot__rosidl_typesupport_fastrtps_cpp.so | Bin 0 -> 60968 bytes ...bot__rosidl_typesupport_introspection_c.so | Bin 0 -> 31016 bytes ...t__rosidl_typesupport_introspection_cpp.so | Bin 0 -> 62800 bytes .../bcr_bot-1.0.2-py3.10.egg-info/PKG-INFO | 10 + .../bcr_bot-1.0.2-py3.10.egg-info/SOURCES.txt | 8 + .../dependency_links.txt | 1 + .../top_level.txt | 1 + .../dist-packages/bcr_bot/__init__.py | 0 .../_bcr_bot_s.ep.rosidl_typesupport_c.c | 354 +++++++++++ ...r_bot_s.ep.rosidl_typesupport_fastrtps_c.c | 354 +++++++++++ ..._s.ep.rosidl_typesupport_introspection_c.c | 354 +++++++++++ ...esupport_c.cpython-310-x86_64-linux-gnu.so | Bin 0 -> 17504 bytes ...fastrtps_c.cpython-310-x86_64-linux-gnu.so | Bin 0 -> 17528 bytes ...spection_c.cpython-310-x86_64-linux-gnu.so | Bin 0 -> 17536 bytes .../libbcr_bot__rosidl_generator_py.so | Bin 0 -> 25800 bytes .../dist-packages/bcr_bot/srv/__init__.py | 1 + .../bcr_bot/srv/_get_visual_topics.py | 380 ++++++++++++ .../bcr_bot/srv/_get_visual_topics_s.c | 462 ++++++++++++++ .../package_run_dependencies/bcr_bot | 2 +- .../resource_index/parent_prefix_path/bcr_bot | 2 +- .../resource_index/rosidl_interfaces/bcr_bot | 4 + .../resource_index/rust_packages/bcr_bot | 0 ...ent_cmake_export_dependencies-extras.cmake | 92 +++ ...ke_export_include_directories-extras.cmake | 16 + .../ament_cmake_export_libraries-extras.cmake | 141 +++++ .../ament_cmake_export_targets-extras.cmake | 27 + .../share/bcr_bot/cmake/bcr_botConfig.cmake | 2 +- ..._rosidl_typesupport_cExport-noconfig.cmake | 20 + .../bcr_bot__rosidl_typesupport_cExport.cmake | 114 ++++ ...osidl_typesupport_cppExport-noconfig.cmake | 20 + ...cr_bot__rosidl_typesupport_cppExport.cmake | 114 ++++ ...pport_introspection_cExport-noconfig.cmake | 19 + ...dl_typesupport_introspection_cExport.cmake | 115 ++++ ...ort_introspection_cppExport-noconfig.cmake | 19 + ..._typesupport_introspection_cppExport.cmake | 115 ++++ ...t__rosidl_generator_cExport-noconfig.cmake | 19 + ...rt_bcr_bot__rosidl_generator_cExport.cmake | 99 +++ ..._bcr_bot__rosidl_generator_cppExport.cmake | 99 +++ ...__rosidl_generator_pyExport-noconfig.cmake | 19 + ...t_bcr_bot__rosidl_generator_pyExport.cmake | 114 ++++ ...ypesupport_fastrtps_cExport-noconfig.cmake | 19 + ..._rosidl_typesupport_fastrtps_cExport.cmake | 115 ++++ ...esupport_fastrtps_cppExport-noconfig.cmake | 19 + ...osidl_typesupport_fastrtps_cppExport.cmake | 115 ++++ .../bcr_bot/cmake/rosidl_cmake-extras.cmake | 4 + ..._export_typesupport_libraries-extras.cmake | 49 ++ ...ke_export_typesupport_targets-extras.cmake | 23 + .../bcr_bot/environment/library_path.dsv | 1 + .../share/bcr_bot/environment/library_path.sh | 16 + .../share/bcr_bot/environment/pythonpath.dsv | 1 + .../share/bcr_bot/environment/pythonpath.sh | 3 + .../bcr_bot/hook/ld_library_path_lib.dsv | 1 + .../bcr_bot/hook/ld_library_path_lib.ps1 | 3 + .../share/bcr_bot/hook/ld_library_path_lib.sh | 3 + .../launch/bcr_bot_gazebo_spawn.launch.py | 2 +- .../bcr_bot/launch/bcr_bot_gz_spawn.launch.py | 4 +- .../launch/bcr_bot_ign_spawn.launch.py | 2 +- install/bcr_bot/share/bcr_bot/local_setup.dsv | 2 + install/bcr_bot/share/bcr_bot/local_setup.sh | 2 + install/bcr_bot/share/bcr_bot/package.dsv | 3 + install/bcr_bot/share/bcr_bot/package.ps1 | 1 + install/bcr_bot/share/bcr_bot/package.sh | 1 + install/bcr_bot/share/bcr_bot/package.xml | 8 +- install/bcr_bot/share/bcr_bot/rust/Cargo.toml | 17 + install/bcr_bot/share/bcr_bot/rust/build.rs | 10 + install/bcr_bot/share/bcr_bot/rust/src/lib.rs | 12 + install/bcr_bot/share/bcr_bot/rust/src/srv.rs | 182 ++++++ .../bcr_bot/share/bcr_bot/rust/src/srv/rmw.rs | 194 ++++++ .../share/bcr_bot/srv/GetVisualTopics.idl | 23 + .../share/bcr_bot/srv/GetVisualTopics.srv | 9 + .../bcr_bot/srv/GetVisualTopics_Request.msg | 3 + .../bcr_bot/srv/GetVisualTopics_Response.msg | 6 + .../bcr_bot/share/bcr_bot/urdf/bcr_bot.xacro | 2 +- .../share/colcon-core/packages/bcr_bot | 2 +- .../launch/bcr_bot_gazebo_spawn.launch.py | 2 +- src/bcr_bot/launch/bcr_bot_gz_spawn.launch.py | 4 +- .../launch/bcr_bot_ign_spawn.launch.py | 2 +- .../scripts/visual_topic_classifier.py | 39 +- src/bcr_bot/urdf/bcr_bot.xacro | 2 +- 108 files changed, 7759 insertions(+), 60 deletions(-) create mode 100644 install/bcr_bot/include/bcr_bot/bcr_bot/msg/rosidl_generator_c__visibility_control.h create mode 100644 install/bcr_bot/include/bcr_bot/bcr_bot/msg/rosidl_generator_cpp__visibility_control.hpp create mode 100644 install/bcr_bot/include/bcr_bot/bcr_bot/msg/rosidl_typesupport_fastrtps_c__visibility_control.h create mode 100644 install/bcr_bot/include/bcr_bot/bcr_bot/msg/rosidl_typesupport_fastrtps_cpp__visibility_control.h create mode 100644 install/bcr_bot/include/bcr_bot/bcr_bot/msg/rosidl_typesupport_introspection_c__visibility_control.h create mode 100644 install/bcr_bot/include/bcr_bot/bcr_bot/srv/detail/get_visual_topics__builder.hpp create mode 100644 install/bcr_bot/include/bcr_bot/bcr_bot/srv/detail/get_visual_topics__functions.c create mode 100644 install/bcr_bot/include/bcr_bot/bcr_bot/srv/detail/get_visual_topics__functions.h create mode 100644 install/bcr_bot/include/bcr_bot/bcr_bot/srv/detail/get_visual_topics__rosidl_typesupport_fastrtps_c.h create mode 100644 install/bcr_bot/include/bcr_bot/bcr_bot/srv/detail/get_visual_topics__rosidl_typesupport_fastrtps_cpp.hpp create mode 100644 install/bcr_bot/include/bcr_bot/bcr_bot/srv/detail/get_visual_topics__rosidl_typesupport_introspection_c.h create mode 100644 install/bcr_bot/include/bcr_bot/bcr_bot/srv/detail/get_visual_topics__rosidl_typesupport_introspection_cpp.hpp create mode 100644 install/bcr_bot/include/bcr_bot/bcr_bot/srv/detail/get_visual_topics__struct.h create mode 100644 install/bcr_bot/include/bcr_bot/bcr_bot/srv/detail/get_visual_topics__struct.hpp create mode 100644 install/bcr_bot/include/bcr_bot/bcr_bot/srv/detail/get_visual_topics__traits.hpp create mode 100644 install/bcr_bot/include/bcr_bot/bcr_bot/srv/detail/get_visual_topics__type_support.c create mode 100644 install/bcr_bot/include/bcr_bot/bcr_bot/srv/detail/get_visual_topics__type_support.cpp create mode 100644 install/bcr_bot/include/bcr_bot/bcr_bot/srv/detail/get_visual_topics__type_support.h create mode 100644 install/bcr_bot/include/bcr_bot/bcr_bot/srv/detail/get_visual_topics__type_support.hpp create mode 100644 install/bcr_bot/include/bcr_bot/bcr_bot/srv/get_visual_topics.h create mode 100644 install/bcr_bot/include/bcr_bot/bcr_bot/srv/get_visual_topics.hpp create mode 100755 install/bcr_bot/lib/bcr_bot/visual_topic_classifier.py create mode 100644 install/bcr_bot/lib/libbcr_bot__rosidl_generator_c.so create mode 100644 install/bcr_bot/lib/libbcr_bot__rosidl_generator_py.so create mode 100644 install/bcr_bot/lib/libbcr_bot__rosidl_typesupport_c.so create mode 100644 install/bcr_bot/lib/libbcr_bot__rosidl_typesupport_cpp.so create mode 100644 install/bcr_bot/lib/libbcr_bot__rosidl_typesupport_fastrtps_c.so create mode 100644 install/bcr_bot/lib/libbcr_bot__rosidl_typesupport_fastrtps_cpp.so create mode 100644 install/bcr_bot/lib/libbcr_bot__rosidl_typesupport_introspection_c.so create mode 100644 install/bcr_bot/lib/libbcr_bot__rosidl_typesupport_introspection_cpp.so create mode 100644 install/bcr_bot/local/lib/python3.10/dist-packages/bcr_bot-1.0.2-py3.10.egg-info/PKG-INFO create mode 100644 install/bcr_bot/local/lib/python3.10/dist-packages/bcr_bot-1.0.2-py3.10.egg-info/SOURCES.txt create mode 100644 install/bcr_bot/local/lib/python3.10/dist-packages/bcr_bot-1.0.2-py3.10.egg-info/dependency_links.txt create mode 100644 install/bcr_bot/local/lib/python3.10/dist-packages/bcr_bot-1.0.2-py3.10.egg-info/top_level.txt create mode 100644 install/bcr_bot/local/lib/python3.10/dist-packages/bcr_bot/__init__.py create mode 100644 install/bcr_bot/local/lib/python3.10/dist-packages/bcr_bot/_bcr_bot_s.ep.rosidl_typesupport_c.c create mode 100644 install/bcr_bot/local/lib/python3.10/dist-packages/bcr_bot/_bcr_bot_s.ep.rosidl_typesupport_fastrtps_c.c create mode 100644 install/bcr_bot/local/lib/python3.10/dist-packages/bcr_bot/_bcr_bot_s.ep.rosidl_typesupport_introspection_c.c create mode 100644 install/bcr_bot/local/lib/python3.10/dist-packages/bcr_bot/bcr_bot_s__rosidl_typesupport_c.cpython-310-x86_64-linux-gnu.so create mode 100644 install/bcr_bot/local/lib/python3.10/dist-packages/bcr_bot/bcr_bot_s__rosidl_typesupport_fastrtps_c.cpython-310-x86_64-linux-gnu.so create mode 100644 install/bcr_bot/local/lib/python3.10/dist-packages/bcr_bot/bcr_bot_s__rosidl_typesupport_introspection_c.cpython-310-x86_64-linux-gnu.so create mode 100644 install/bcr_bot/local/lib/python3.10/dist-packages/bcr_bot/libbcr_bot__rosidl_generator_py.so create mode 100644 install/bcr_bot/local/lib/python3.10/dist-packages/bcr_bot/srv/__init__.py create mode 100644 install/bcr_bot/local/lib/python3.10/dist-packages/bcr_bot/srv/_get_visual_topics.py create mode 100644 install/bcr_bot/local/lib/python3.10/dist-packages/bcr_bot/srv/_get_visual_topics_s.c create mode 100644 install/bcr_bot/share/ament_index/resource_index/rosidl_interfaces/bcr_bot create mode 100644 install/bcr_bot/share/ament_index/resource_index/rust_packages/bcr_bot create mode 100644 install/bcr_bot/share/bcr_bot/cmake/ament_cmake_export_dependencies-extras.cmake create mode 100644 install/bcr_bot/share/bcr_bot/cmake/ament_cmake_export_include_directories-extras.cmake create mode 100644 install/bcr_bot/share/bcr_bot/cmake/ament_cmake_export_libraries-extras.cmake create mode 100644 install/bcr_bot/share/bcr_bot/cmake/ament_cmake_export_targets-extras.cmake create mode 100644 install/bcr_bot/share/bcr_bot/cmake/bcr_bot__rosidl_typesupport_cExport-noconfig.cmake create mode 100644 install/bcr_bot/share/bcr_bot/cmake/bcr_bot__rosidl_typesupport_cExport.cmake create mode 100644 install/bcr_bot/share/bcr_bot/cmake/bcr_bot__rosidl_typesupport_cppExport-noconfig.cmake create mode 100644 install/bcr_bot/share/bcr_bot/cmake/bcr_bot__rosidl_typesupport_cppExport.cmake create mode 100644 install/bcr_bot/share/bcr_bot/cmake/bcr_bot__rosidl_typesupport_introspection_cExport-noconfig.cmake create mode 100644 install/bcr_bot/share/bcr_bot/cmake/bcr_bot__rosidl_typesupport_introspection_cExport.cmake create mode 100644 install/bcr_bot/share/bcr_bot/cmake/bcr_bot__rosidl_typesupport_introspection_cppExport-noconfig.cmake create mode 100644 install/bcr_bot/share/bcr_bot/cmake/bcr_bot__rosidl_typesupport_introspection_cppExport.cmake create mode 100644 install/bcr_bot/share/bcr_bot/cmake/export_bcr_bot__rosidl_generator_cExport-noconfig.cmake create mode 100644 install/bcr_bot/share/bcr_bot/cmake/export_bcr_bot__rosidl_generator_cExport.cmake create mode 100644 install/bcr_bot/share/bcr_bot/cmake/export_bcr_bot__rosidl_generator_cppExport.cmake create mode 100644 install/bcr_bot/share/bcr_bot/cmake/export_bcr_bot__rosidl_generator_pyExport-noconfig.cmake create mode 100644 install/bcr_bot/share/bcr_bot/cmake/export_bcr_bot__rosidl_generator_pyExport.cmake create mode 100644 install/bcr_bot/share/bcr_bot/cmake/export_bcr_bot__rosidl_typesupport_fastrtps_cExport-noconfig.cmake create mode 100644 install/bcr_bot/share/bcr_bot/cmake/export_bcr_bot__rosidl_typesupport_fastrtps_cExport.cmake create mode 100644 install/bcr_bot/share/bcr_bot/cmake/export_bcr_bot__rosidl_typesupport_fastrtps_cppExport-noconfig.cmake create mode 100644 install/bcr_bot/share/bcr_bot/cmake/export_bcr_bot__rosidl_typesupport_fastrtps_cppExport.cmake create mode 100644 install/bcr_bot/share/bcr_bot/cmake/rosidl_cmake-extras.cmake create mode 100644 install/bcr_bot/share/bcr_bot/cmake/rosidl_cmake_export_typesupport_libraries-extras.cmake create mode 100644 install/bcr_bot/share/bcr_bot/cmake/rosidl_cmake_export_typesupport_targets-extras.cmake create mode 100644 install/bcr_bot/share/bcr_bot/environment/library_path.dsv create mode 100644 install/bcr_bot/share/bcr_bot/environment/library_path.sh create mode 100644 install/bcr_bot/share/bcr_bot/environment/pythonpath.dsv create mode 100644 install/bcr_bot/share/bcr_bot/environment/pythonpath.sh create mode 100644 install/bcr_bot/share/bcr_bot/hook/ld_library_path_lib.dsv create mode 100644 install/bcr_bot/share/bcr_bot/hook/ld_library_path_lib.ps1 create mode 100644 install/bcr_bot/share/bcr_bot/hook/ld_library_path_lib.sh create mode 100644 install/bcr_bot/share/bcr_bot/rust/Cargo.toml create mode 100644 install/bcr_bot/share/bcr_bot/rust/build.rs create mode 100644 install/bcr_bot/share/bcr_bot/rust/src/lib.rs create mode 100644 install/bcr_bot/share/bcr_bot/rust/src/srv.rs create mode 100644 install/bcr_bot/share/bcr_bot/rust/src/srv/rmw.rs create mode 100644 install/bcr_bot/share/bcr_bot/srv/GetVisualTopics.idl create mode 100644 install/bcr_bot/share/bcr_bot/srv/GetVisualTopics.srv create mode 100644 install/bcr_bot/share/bcr_bot/srv/GetVisualTopics_Request.msg create mode 100644 install/bcr_bot/share/bcr_bot/srv/GetVisualTopics_Response.msg diff --git a/install/_local_setup_util_ps1.py b/install/_local_setup_util_ps1.py index 01cdf8b..3c6d9e8 100644 --- a/install/_local_setup_util_ps1.py +++ b/install/_local_setup_util_ps1.py @@ -193,13 +193,12 @@ def process_dsv_file( ): commands = [] if _include_comments(): - commands.append(FORMAT_STR_COMMENT_LINE.format_map({ - 'comment': dsv_path})) + commands.append(FORMAT_STR_COMMENT_LINE.format_map({'comment': dsv_path})) with open(dsv_path, 'r') as h: content = h.read() lines = content.splitlines() - basename_map = OrderedDict() + basenames = OrderedDict() for i, line in enumerate(lines): # skip over empty or whitespace-only lines if not line.strip(): @@ -224,21 +223,21 @@ def process_dsv_file( else: # group remaining source lines by basename path_without_ext, ext = os.path.splitext(remainder) - if path_without_ext not in basename_map: - basename_map[path_without_ext] = set() + if path_without_ext not in basenames: + basenames[path_without_ext] = set() assert ext.startswith('.') ext = ext[1:] if ext in (primary_extension, additional_extension): - basename_map[path_without_ext].add(ext) + basenames[path_without_ext].add(ext) # add the dsv extension to each basename if the file exists - for basename, extensions in basename_map.items(): + for basename, extensions in basenames.items(): if not os.path.isabs(basename): basename = os.path.join(prefix, basename) if os.path.exists(basename + '.dsv'): extensions.add('dsv') - for basename, extensions in basename_map.items(): + for basename, extensions in basenames.items(): if not os.path.isabs(basename): basename = os.path.join(prefix, basename) if 'dsv' in extensions: @@ -305,8 +304,8 @@ def handle_dsv_types_except_source(type_, remainder, prefix): comment = f'skip extending {env_name} with not existing ' \ f'path: {value}' if _include_comments(): - commands.append(FORMAT_STR_COMMENT_LINE.format_map({ - 'comment': comment})) + commands.append( + FORMAT_STR_COMMENT_LINE.format_map({'comment': comment})) elif type_ == DSV_TYPE_APPEND_NON_DUPLICATE: commands += _append_unique_value(env_name, value) else: @@ -321,15 +320,15 @@ env_state = {} def _append_unique_value(name, value): + global env_state if name not in env_state: if os.environ.get(name): env_state[name] = set(os.environ[name].split(os.pathsep)) else: env_state[name] = set() - # Append even if the variable has not been set yet, in case a shell script - # sets the same variable without the knowledge of this Python script. - # Later, _remove_ending_separators() will cleanup any unintentional - # leading separator. + # append even if the variable has not been set yet, in case a shell script sets the + # same variable without the knowledge of this Python script. + # later _remove_ending_separators() will cleanup any unintentional leading separator extend = FORMAT_STR_USE_ENV_VAR.format_map({'name': name}) + os.pathsep line = FORMAT_STR_SET_ENV_VAR.format_map( {'name': name, 'value': extend + value}) @@ -343,15 +342,15 @@ def _append_unique_value(name, value): def _prepend_unique_value(name, value): + global env_state if name not in env_state: if os.environ.get(name): env_state[name] = set(os.environ[name].split(os.pathsep)) else: env_state[name] = set() - # Prepend even if the variable has not been set yet, in case a shell script - # sets the same variable without the knowledge of this Python script. - # Later, _remove_ending_separators() will cleanup any unintentional - # trailing separator. + # prepend even if the variable has not been set yet, in case a shell script sets the + # same variable without the knowledge of this Python script. + # later _remove_ending_separators() will cleanup any unintentional trailing separator extend = os.pathsep + FORMAT_STR_USE_ENV_VAR.format_map({'name': name}) line = FORMAT_STR_SET_ENV_VAR.format_map( {'name': name, 'value': value + extend}) @@ -370,10 +369,10 @@ def _remove_ending_separators(): if FORMAT_STR_REMOVE_TRAILING_SEPARATOR is None: return [] + global env_state commands = [] for name in env_state: - # skip variables that already had values before this script started - # appending/prepending + # skip variables that already had values before this script started prepending if name in os.environ: continue commands += [ @@ -383,6 +382,7 @@ def _remove_ending_separators(): def _set(name, value): + global env_state env_state[name] = value line = FORMAT_STR_SET_ENV_VAR.format_map( {'name': name, 'value': value}) @@ -390,6 +390,7 @@ def _set(name, value): def _set_if_unset(name, value): + global env_state line = FORMAT_STR_SET_ENV_VAR.format_map( {'name': name, 'value': value}) if env_state.get(name, os.environ.get(name)): diff --git a/install/_local_setup_util_sh.py b/install/_local_setup_util_sh.py index e5443aa..f67eaa9 100644 --- a/install/_local_setup_util_sh.py +++ b/install/_local_setup_util_sh.py @@ -12,8 +12,8 @@ FORMAT_STR_COMMENT_LINE = '# {comment}' FORMAT_STR_SET_ENV_VAR = 'export {name}="{value}"' FORMAT_STR_USE_ENV_VAR = '${name}' FORMAT_STR_INVOKE_SCRIPT = 'COLCON_CURRENT_PREFIX="{prefix}" _colcon_prefix_sh_source_script "{script_path}"' # noqa: E501 -FORMAT_STR_REMOVE_LEADING_SEPARATOR = 'export {name}=${{{name}#:}}' # noqa: E501 -FORMAT_STR_REMOVE_TRAILING_SEPARATOR = 'export {name}=${{{name}%:}}' # noqa: E501 +FORMAT_STR_REMOVE_LEADING_SEPARATOR = 'if [ "$(echo -n ${name} | head -c 1)" = ":" ]; then export {name}=${{{name}#?}} ; fi' # noqa: E501 +FORMAT_STR_REMOVE_TRAILING_SEPARATOR = 'if [ "$(echo -n ${name} | tail -c 1)" = ":" ]; then export {name}=${{{name}%?}} ; fi' # noqa: E501 DSV_TYPE_APPEND_NON_DUPLICATE = 'append-non-duplicate' DSV_TYPE_PREPEND_NON_DUPLICATE = 'prepend-non-duplicate' @@ -193,13 +193,12 @@ def process_dsv_file( ): commands = [] if _include_comments(): - commands.append(FORMAT_STR_COMMENT_LINE.format_map({ - 'comment': dsv_path})) + commands.append(FORMAT_STR_COMMENT_LINE.format_map({'comment': dsv_path})) with open(dsv_path, 'r') as h: content = h.read() lines = content.splitlines() - basename_map = OrderedDict() + basenames = OrderedDict() for i, line in enumerate(lines): # skip over empty or whitespace-only lines if not line.strip(): @@ -224,21 +223,21 @@ def process_dsv_file( else: # group remaining source lines by basename path_without_ext, ext = os.path.splitext(remainder) - if path_without_ext not in basename_map: - basename_map[path_without_ext] = set() + if path_without_ext not in basenames: + basenames[path_without_ext] = set() assert ext.startswith('.') ext = ext[1:] if ext in (primary_extension, additional_extension): - basename_map[path_without_ext].add(ext) + basenames[path_without_ext].add(ext) # add the dsv extension to each basename if the file exists - for basename, extensions in basename_map.items(): + for basename, extensions in basenames.items(): if not os.path.isabs(basename): basename = os.path.join(prefix, basename) if os.path.exists(basename + '.dsv'): extensions.add('dsv') - for basename, extensions in basename_map.items(): + for basename, extensions in basenames.items(): if not os.path.isabs(basename): basename = os.path.join(prefix, basename) if 'dsv' in extensions: @@ -305,8 +304,8 @@ def handle_dsv_types_except_source(type_, remainder, prefix): comment = f'skip extending {env_name} with not existing ' \ f'path: {value}' if _include_comments(): - commands.append(FORMAT_STR_COMMENT_LINE.format_map({ - 'comment': comment})) + commands.append( + FORMAT_STR_COMMENT_LINE.format_map({'comment': comment})) elif type_ == DSV_TYPE_APPEND_NON_DUPLICATE: commands += _append_unique_value(env_name, value) else: @@ -321,15 +320,15 @@ env_state = {} def _append_unique_value(name, value): + global env_state if name not in env_state: if os.environ.get(name): env_state[name] = set(os.environ[name].split(os.pathsep)) else: env_state[name] = set() - # Append even if the variable has not been set yet, in case a shell script - # sets the same variable without the knowledge of this Python script. - # Later, _remove_ending_separators() will cleanup any unintentional - # leading separator. + # append even if the variable has not been set yet, in case a shell script sets the + # same variable without the knowledge of this Python script. + # later _remove_ending_separators() will cleanup any unintentional leading separator extend = FORMAT_STR_USE_ENV_VAR.format_map({'name': name}) + os.pathsep line = FORMAT_STR_SET_ENV_VAR.format_map( {'name': name, 'value': extend + value}) @@ -343,15 +342,15 @@ def _append_unique_value(name, value): def _prepend_unique_value(name, value): + global env_state if name not in env_state: if os.environ.get(name): env_state[name] = set(os.environ[name].split(os.pathsep)) else: env_state[name] = set() - # Prepend even if the variable has not been set yet, in case a shell script - # sets the same variable without the knowledge of this Python script. - # Later, _remove_ending_separators() will cleanup any unintentional - # trailing separator. + # prepend even if the variable has not been set yet, in case a shell script sets the + # same variable without the knowledge of this Python script. + # later _remove_ending_separators() will cleanup any unintentional trailing separator extend = os.pathsep + FORMAT_STR_USE_ENV_VAR.format_map({'name': name}) line = FORMAT_STR_SET_ENV_VAR.format_map( {'name': name, 'value': value + extend}) @@ -370,10 +369,10 @@ def _remove_ending_separators(): if FORMAT_STR_REMOVE_TRAILING_SEPARATOR is None: return [] + global env_state commands = [] for name in env_state: - # skip variables that already had values before this script started - # appending/prepending + # skip variables that already had values before this script started prepending if name in os.environ: continue commands += [ @@ -383,6 +382,7 @@ def _remove_ending_separators(): def _set(name, value): + global env_state env_state[name] = value line = FORMAT_STR_SET_ENV_VAR.format_map( {'name': name, 'value': value}) @@ -390,6 +390,7 @@ def _set(name, value): def _set_if_unset(name, value): + global env_state line = FORMAT_STR_SET_ENV_VAR.format_map( {'name': name, 'value': value}) if env_state.get(name, os.environ.get(name)): diff --git a/install/bcr_bot/include/bcr_bot/bcr_bot/msg/rosidl_generator_c__visibility_control.h b/install/bcr_bot/include/bcr_bot/bcr_bot/msg/rosidl_generator_c__visibility_control.h new file mode 100644 index 0000000..dcc6e0e --- /dev/null +++ b/install/bcr_bot/include/bcr_bot/bcr_bot/msg/rosidl_generator_c__visibility_control.h @@ -0,0 +1,42 @@ +// generated from rosidl_generator_c/resource/rosidl_generator_c__visibility_control.h.in +// generated code does not contain a copyright notice + +#ifndef BCR_BOT__MSG__ROSIDL_GENERATOR_C__VISIBILITY_CONTROL_H_ +#define BCR_BOT__MSG__ROSIDL_GENERATOR_C__VISIBILITY_CONTROL_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +// This logic was borrowed (then namespaced) from the examples on the gcc wiki: +// https://gcc.gnu.org/wiki/Visibility + +#if defined _WIN32 || defined __CYGWIN__ + #ifdef __GNUC__ + #define ROSIDL_GENERATOR_C_EXPORT_bcr_bot __attribute__ ((dllexport)) + #define ROSIDL_GENERATOR_C_IMPORT_bcr_bot __attribute__ ((dllimport)) + #else + #define ROSIDL_GENERATOR_C_EXPORT_bcr_bot __declspec(dllexport) + #define ROSIDL_GENERATOR_C_IMPORT_bcr_bot __declspec(dllimport) + #endif + #ifdef ROSIDL_GENERATOR_C_BUILDING_DLL_bcr_bot + #define ROSIDL_GENERATOR_C_PUBLIC_bcr_bot ROSIDL_GENERATOR_C_EXPORT_bcr_bot + #else + #define ROSIDL_GENERATOR_C_PUBLIC_bcr_bot ROSIDL_GENERATOR_C_IMPORT_bcr_bot + #endif +#else + #define ROSIDL_GENERATOR_C_EXPORT_bcr_bot __attribute__ ((visibility("default"))) + #define ROSIDL_GENERATOR_C_IMPORT_bcr_bot + #if __GNUC__ >= 4 + #define ROSIDL_GENERATOR_C_PUBLIC_bcr_bot __attribute__ ((visibility("default"))) + #else + #define ROSIDL_GENERATOR_C_PUBLIC_bcr_bot + #endif +#endif + +#ifdef __cplusplus +} +#endif + +#endif // BCR_BOT__MSG__ROSIDL_GENERATOR_C__VISIBILITY_CONTROL_H_ diff --git a/install/bcr_bot/include/bcr_bot/bcr_bot/msg/rosidl_generator_cpp__visibility_control.hpp b/install/bcr_bot/include/bcr_bot/bcr_bot/msg/rosidl_generator_cpp__visibility_control.hpp new file mode 100644 index 0000000..9834e9d --- /dev/null +++ b/install/bcr_bot/include/bcr_bot/bcr_bot/msg/rosidl_generator_cpp__visibility_control.hpp @@ -0,0 +1,42 @@ +// generated from rosidl_generator_cpp/resource/rosidl_generator_cpp__visibility_control.hpp.in +// generated code does not contain a copyright notice + +#ifndef BCR_BOT__MSG__ROSIDL_GENERATOR_CPP__VISIBILITY_CONTROL_HPP_ +#define BCR_BOT__MSG__ROSIDL_GENERATOR_CPP__VISIBILITY_CONTROL_HPP_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +// This logic was borrowed (then namespaced) from the examples on the gcc wiki: +// https://gcc.gnu.org/wiki/Visibility + +#if defined _WIN32 || defined __CYGWIN__ + #ifdef __GNUC__ + #define ROSIDL_GENERATOR_CPP_EXPORT_bcr_bot __attribute__ ((dllexport)) + #define ROSIDL_GENERATOR_CPP_IMPORT_bcr_bot __attribute__ ((dllimport)) + #else + #define ROSIDL_GENERATOR_CPP_EXPORT_bcr_bot __declspec(dllexport) + #define ROSIDL_GENERATOR_CPP_IMPORT_bcr_bot __declspec(dllimport) + #endif + #ifdef ROSIDL_GENERATOR_CPP_BUILDING_DLL_bcr_bot + #define ROSIDL_GENERATOR_CPP_PUBLIC_bcr_bot ROSIDL_GENERATOR_CPP_EXPORT_bcr_bot + #else + #define ROSIDL_GENERATOR_CPP_PUBLIC_bcr_bot ROSIDL_GENERATOR_CPP_IMPORT_bcr_bot + #endif +#else + #define ROSIDL_GENERATOR_CPP_EXPORT_bcr_bot __attribute__ ((visibility("default"))) + #define ROSIDL_GENERATOR_CPP_IMPORT_bcr_bot + #if __GNUC__ >= 4 + #define ROSIDL_GENERATOR_CPP_PUBLIC_bcr_bot __attribute__ ((visibility("default"))) + #else + #define ROSIDL_GENERATOR_CPP_PUBLIC_bcr_bot + #endif +#endif + +#ifdef __cplusplus +} +#endif + +#endif // BCR_BOT__MSG__ROSIDL_GENERATOR_CPP__VISIBILITY_CONTROL_HPP_ diff --git a/install/bcr_bot/include/bcr_bot/bcr_bot/msg/rosidl_typesupport_fastrtps_c__visibility_control.h b/install/bcr_bot/include/bcr_bot/bcr_bot/msg/rosidl_typesupport_fastrtps_c__visibility_control.h new file mode 100644 index 0000000..5f22ad0 --- /dev/null +++ b/install/bcr_bot/include/bcr_bot/bcr_bot/msg/rosidl_typesupport_fastrtps_c__visibility_control.h @@ -0,0 +1,43 @@ +// generated from +// rosidl_typesupport_fastrtps_c/resource/rosidl_typesupport_fastrtps_c__visibility_control.h.in +// generated code does not contain a copyright notice + +#ifndef BCR_BOT__MSG__ROSIDL_TYPESUPPORT_FASTRTPS_C__VISIBILITY_CONTROL_H_ +#define BCR_BOT__MSG__ROSIDL_TYPESUPPORT_FASTRTPS_C__VISIBILITY_CONTROL_H_ + +#if __cplusplus +extern "C" +{ +#endif + +// This logic was borrowed (then namespaced) from the examples on the gcc wiki: +// https://gcc.gnu.org/wiki/Visibility + +#if defined _WIN32 || defined __CYGWIN__ + #ifdef __GNUC__ + #define ROSIDL_TYPESUPPORT_FASTRTPS_C_EXPORT_bcr_bot __attribute__ ((dllexport)) + #define ROSIDL_TYPESUPPORT_FASTRTPS_C_IMPORT_bcr_bot __attribute__ ((dllimport)) + #else + #define ROSIDL_TYPESUPPORT_FASTRTPS_C_EXPORT_bcr_bot __declspec(dllexport) + #define ROSIDL_TYPESUPPORT_FASTRTPS_C_IMPORT_bcr_bot __declspec(dllimport) + #endif + #ifdef ROSIDL_TYPESUPPORT_FASTRTPS_C_BUILDING_DLL_bcr_bot + #define ROSIDL_TYPESUPPORT_FASTRTPS_C_PUBLIC_bcr_bot ROSIDL_TYPESUPPORT_FASTRTPS_C_EXPORT_bcr_bot + #else + #define ROSIDL_TYPESUPPORT_FASTRTPS_C_PUBLIC_bcr_bot ROSIDL_TYPESUPPORT_FASTRTPS_C_IMPORT_bcr_bot + #endif +#else + #define ROSIDL_TYPESUPPORT_FASTRTPS_C_EXPORT_bcr_bot __attribute__ ((visibility("default"))) + #define ROSIDL_TYPESUPPORT_FASTRTPS_C_IMPORT_bcr_bot + #if __GNUC__ >= 4 + #define ROSIDL_TYPESUPPORT_FASTRTPS_C_PUBLIC_bcr_bot __attribute__ ((visibility("default"))) + #else + #define ROSIDL_TYPESUPPORT_FASTRTPS_C_PUBLIC_bcr_bot + #endif +#endif + +#if __cplusplus +} +#endif + +#endif // BCR_BOT__MSG__ROSIDL_TYPESUPPORT_FASTRTPS_C__VISIBILITY_CONTROL_H_ diff --git a/install/bcr_bot/include/bcr_bot/bcr_bot/msg/rosidl_typesupport_fastrtps_cpp__visibility_control.h b/install/bcr_bot/include/bcr_bot/bcr_bot/msg/rosidl_typesupport_fastrtps_cpp__visibility_control.h new file mode 100644 index 0000000..780ea13 --- /dev/null +++ b/install/bcr_bot/include/bcr_bot/bcr_bot/msg/rosidl_typesupport_fastrtps_cpp__visibility_control.h @@ -0,0 +1,43 @@ +// generated from +// rosidl_typesupport_fastrtps_cpp/resource/rosidl_typesupport_fastrtps_cpp__visibility_control.h.in +// generated code does not contain a copyright notice + +#ifndef BCR_BOT__MSG__ROSIDL_TYPESUPPORT_FASTRTPS_CPP__VISIBILITY_CONTROL_H_ +#define BCR_BOT__MSG__ROSIDL_TYPESUPPORT_FASTRTPS_CPP__VISIBILITY_CONTROL_H_ + +#if __cplusplus +extern "C" +{ +#endif + +// This logic was borrowed (then namespaced) from the examples on the gcc wiki: +// https://gcc.gnu.org/wiki/Visibility + +#if defined _WIN32 || defined __CYGWIN__ + #ifdef __GNUC__ + #define ROSIDL_TYPESUPPORT_FASTRTPS_CPP_EXPORT_bcr_bot __attribute__ ((dllexport)) + #define ROSIDL_TYPESUPPORT_FASTRTPS_CPP_IMPORT_bcr_bot __attribute__ ((dllimport)) + #else + #define ROSIDL_TYPESUPPORT_FASTRTPS_CPP_EXPORT_bcr_bot __declspec(dllexport) + #define ROSIDL_TYPESUPPORT_FASTRTPS_CPP_IMPORT_bcr_bot __declspec(dllimport) + #endif + #ifdef ROSIDL_TYPESUPPORT_FASTRTPS_CPP_BUILDING_DLL_bcr_bot + #define ROSIDL_TYPESUPPORT_FASTRTPS_CPP_PUBLIC_bcr_bot ROSIDL_TYPESUPPORT_FASTRTPS_CPP_EXPORT_bcr_bot + #else + #define ROSIDL_TYPESUPPORT_FASTRTPS_CPP_PUBLIC_bcr_bot ROSIDL_TYPESUPPORT_FASTRTPS_CPP_IMPORT_bcr_bot + #endif +#else + #define ROSIDL_TYPESUPPORT_FASTRTPS_CPP_EXPORT_bcr_bot __attribute__ ((visibility("default"))) + #define ROSIDL_TYPESUPPORT_FASTRTPS_CPP_IMPORT_bcr_bot + #if __GNUC__ >= 4 + #define ROSIDL_TYPESUPPORT_FASTRTPS_CPP_PUBLIC_bcr_bot __attribute__ ((visibility("default"))) + #else + #define ROSIDL_TYPESUPPORT_FASTRTPS_CPP_PUBLIC_bcr_bot + #endif +#endif + +#if __cplusplus +} +#endif + +#endif // BCR_BOT__MSG__ROSIDL_TYPESUPPORT_FASTRTPS_CPP__VISIBILITY_CONTROL_H_ diff --git a/install/bcr_bot/include/bcr_bot/bcr_bot/msg/rosidl_typesupport_introspection_c__visibility_control.h b/install/bcr_bot/include/bcr_bot/bcr_bot/msg/rosidl_typesupport_introspection_c__visibility_control.h new file mode 100644 index 0000000..48eef88 --- /dev/null +++ b/install/bcr_bot/include/bcr_bot/bcr_bot/msg/rosidl_typesupport_introspection_c__visibility_control.h @@ -0,0 +1,43 @@ +// generated from +// rosidl_typesupport_introspection_c/resource/rosidl_typesupport_introspection_c__visibility_control.h.in +// generated code does not contain a copyright notice + +#ifndef BCR_BOT__MSG__ROSIDL_TYPESUPPORT_INTROSPECTION_C__VISIBILITY_CONTROL_H_ +#define BCR_BOT__MSG__ROSIDL_TYPESUPPORT_INTROSPECTION_C__VISIBILITY_CONTROL_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +// This logic was borrowed (then namespaced) from the examples on the gcc wiki: +// https://gcc.gnu.org/wiki/Visibility + +#if defined _WIN32 || defined __CYGWIN__ + #ifdef __GNUC__ + #define ROSIDL_TYPESUPPORT_INTROSPECTION_C_EXPORT_bcr_bot __attribute__ ((dllexport)) + #define ROSIDL_TYPESUPPORT_INTROSPECTION_C_IMPORT_bcr_bot __attribute__ ((dllimport)) + #else + #define ROSIDL_TYPESUPPORT_INTROSPECTION_C_EXPORT_bcr_bot __declspec(dllexport) + #define ROSIDL_TYPESUPPORT_INTROSPECTION_C_IMPORT_bcr_bot __declspec(dllimport) + #endif + #ifdef ROSIDL_TYPESUPPORT_INTROSPECTION_C_BUILDING_DLL_bcr_bot + #define ROSIDL_TYPESUPPORT_INTROSPECTION_C_PUBLIC_bcr_bot ROSIDL_TYPESUPPORT_INTROSPECTION_C_EXPORT_bcr_bot + #else + #define ROSIDL_TYPESUPPORT_INTROSPECTION_C_PUBLIC_bcr_bot ROSIDL_TYPESUPPORT_INTROSPECTION_C_IMPORT_bcr_bot + #endif +#else + #define ROSIDL_TYPESUPPORT_INTROSPECTION_C_EXPORT_bcr_bot __attribute__ ((visibility("default"))) + #define ROSIDL_TYPESUPPORT_INTROSPECTION_C_IMPORT_bcr_bot + #if __GNUC__ >= 4 + #define ROSIDL_TYPESUPPORT_INTROSPECTION_C_PUBLIC_bcr_bot __attribute__ ((visibility("default"))) + #else + #define ROSIDL_TYPESUPPORT_INTROSPECTION_C_PUBLIC_bcr_bot + #endif +#endif + +#ifdef __cplusplus +} +#endif + +#endif // BCR_BOT__MSG__ROSIDL_TYPESUPPORT_INTROSPECTION_C__VISIBILITY_CONTROL_H_ diff --git a/install/bcr_bot/include/bcr_bot/bcr_bot/srv/detail/get_visual_topics__builder.hpp b/install/bcr_bot/include/bcr_bot/bcr_bot/srv/detail/get_visual_topics__builder.hpp new file mode 100644 index 0000000..1af2223 --- /dev/null +++ b/install/bcr_bot/include/bcr_bot/bcr_bot/srv/detail/get_visual_topics__builder.hpp @@ -0,0 +1,146 @@ +// generated from rosidl_generator_cpp/resource/idl__builder.hpp.em +// with input from bcr_bot:srv/GetVisualTopics.idl +// generated code does not contain a copyright notice + +#ifndef BCR_BOT__SRV__DETAIL__GET_VISUAL_TOPICS__BUILDER_HPP_ +#define BCR_BOT__SRV__DETAIL__GET_VISUAL_TOPICS__BUILDER_HPP_ + +#include +#include + +#include "bcr_bot/srv/detail/get_visual_topics__struct.hpp" +#include "rosidl_runtime_cpp/message_initialization.hpp" + + +namespace bcr_bot +{ + +namespace srv +{ + +namespace builder +{ + +class Init_GetVisualTopics_Request_refresh +{ +public: + Init_GetVisualTopics_Request_refresh() + : msg_(::rosidl_runtime_cpp::MessageInitialization::SKIP) + {} + ::bcr_bot::srv::GetVisualTopics_Request refresh(::bcr_bot::srv::GetVisualTopics_Request::_refresh_type arg) + { + msg_.refresh = std::move(arg); + return std::move(msg_); + } + +private: + ::bcr_bot::srv::GetVisualTopics_Request msg_; +}; + +} // namespace builder + +} // namespace srv + +template +auto build(); + +template<> +inline +auto build<::bcr_bot::srv::GetVisualTopics_Request>() +{ + return bcr_bot::srv::builder::Init_GetVisualTopics_Request_refresh(); +} + +} // namespace bcr_bot + + +namespace bcr_bot +{ + +namespace srv +{ + +namespace builder +{ + +class Init_GetVisualTopics_Response_point_cloud_topics +{ +public: + explicit Init_GetVisualTopics_Response_point_cloud_topics(::bcr_bot::srv::GetVisualTopics_Response & msg) + : msg_(msg) + {} + ::bcr_bot::srv::GetVisualTopics_Response point_cloud_topics(::bcr_bot::srv::GetVisualTopics_Response::_point_cloud_topics_type arg) + { + msg_.point_cloud_topics = std::move(arg); + return std::move(msg_); + } + +private: + ::bcr_bot::srv::GetVisualTopics_Response msg_; +}; + +class Init_GetVisualTopics_Response_camera_info_topics +{ +public: + explicit Init_GetVisualTopics_Response_camera_info_topics(::bcr_bot::srv::GetVisualTopics_Response & msg) + : msg_(msg) + {} + Init_GetVisualTopics_Response_point_cloud_topics camera_info_topics(::bcr_bot::srv::GetVisualTopics_Response::_camera_info_topics_type arg) + { + msg_.camera_info_topics = std::move(arg); + return Init_GetVisualTopics_Response_point_cloud_topics(msg_); + } + +private: + ::bcr_bot::srv::GetVisualTopics_Response msg_; +}; + +class Init_GetVisualTopics_Response_rgb_image_topics +{ +public: + explicit Init_GetVisualTopics_Response_rgb_image_topics(::bcr_bot::srv::GetVisualTopics_Response & msg) + : msg_(msg) + {} + Init_GetVisualTopics_Response_camera_info_topics rgb_image_topics(::bcr_bot::srv::GetVisualTopics_Response::_rgb_image_topics_type arg) + { + msg_.rgb_image_topics = std::move(arg); + return Init_GetVisualTopics_Response_camera_info_topics(msg_); + } + +private: + ::bcr_bot::srv::GetVisualTopics_Response msg_; +}; + +class Init_GetVisualTopics_Response_depth_image_topics +{ +public: + Init_GetVisualTopics_Response_depth_image_topics() + : msg_(::rosidl_runtime_cpp::MessageInitialization::SKIP) + {} + Init_GetVisualTopics_Response_rgb_image_topics depth_image_topics(::bcr_bot::srv::GetVisualTopics_Response::_depth_image_topics_type arg) + { + msg_.depth_image_topics = std::move(arg); + return Init_GetVisualTopics_Response_rgb_image_topics(msg_); + } + +private: + ::bcr_bot::srv::GetVisualTopics_Response msg_; +}; + +} // namespace builder + +} // namespace srv + +template +auto build(); + +template<> +inline +auto build<::bcr_bot::srv::GetVisualTopics_Response>() +{ + return bcr_bot::srv::builder::Init_GetVisualTopics_Response_depth_image_topics(); +} + +} // namespace bcr_bot + +#endif // BCR_BOT__SRV__DETAIL__GET_VISUAL_TOPICS__BUILDER_HPP_ diff --git a/install/bcr_bot/include/bcr_bot/bcr_bot/srv/detail/get_visual_topics__functions.c b/install/bcr_bot/include/bcr_bot/bcr_bot/srv/detail/get_visual_topics__functions.c new file mode 100644 index 0000000..6c78804 --- /dev/null +++ b/install/bcr_bot/include/bcr_bot/bcr_bot/srv/detail/get_visual_topics__functions.c @@ -0,0 +1,535 @@ +// generated from rosidl_generator_c/resource/idl__functions.c.em +// with input from bcr_bot:srv/GetVisualTopics.idl +// generated code does not contain a copyright notice +#include "bcr_bot/srv/detail/get_visual_topics__functions.h" + +#include +#include +#include +#include + +#include "rcutils/allocator.h" + +bool +bcr_bot__srv__GetVisualTopics_Request__init(bcr_bot__srv__GetVisualTopics_Request * msg) +{ + if (!msg) { + return false; + } + // refresh + return true; +} + +void +bcr_bot__srv__GetVisualTopics_Request__fini(bcr_bot__srv__GetVisualTopics_Request * msg) +{ + if (!msg) { + return; + } + // refresh +} + +bool +bcr_bot__srv__GetVisualTopics_Request__are_equal(const bcr_bot__srv__GetVisualTopics_Request * lhs, const bcr_bot__srv__GetVisualTopics_Request * rhs) +{ + if (!lhs || !rhs) { + return false; + } + // refresh + if (lhs->refresh != rhs->refresh) { + return false; + } + return true; +} + +bool +bcr_bot__srv__GetVisualTopics_Request__copy( + const bcr_bot__srv__GetVisualTopics_Request * input, + bcr_bot__srv__GetVisualTopics_Request * output) +{ + if (!input || !output) { + return false; + } + // refresh + output->refresh = input->refresh; + return true; +} + +bcr_bot__srv__GetVisualTopics_Request * +bcr_bot__srv__GetVisualTopics_Request__create() +{ + rcutils_allocator_t allocator = rcutils_get_default_allocator(); + bcr_bot__srv__GetVisualTopics_Request * msg = (bcr_bot__srv__GetVisualTopics_Request *)allocator.allocate(sizeof(bcr_bot__srv__GetVisualTopics_Request), allocator.state); + if (!msg) { + return NULL; + } + memset(msg, 0, sizeof(bcr_bot__srv__GetVisualTopics_Request)); + bool success = bcr_bot__srv__GetVisualTopics_Request__init(msg); + if (!success) { + allocator.deallocate(msg, allocator.state); + return NULL; + } + return msg; +} + +void +bcr_bot__srv__GetVisualTopics_Request__destroy(bcr_bot__srv__GetVisualTopics_Request * msg) +{ + rcutils_allocator_t allocator = rcutils_get_default_allocator(); + if (msg) { + bcr_bot__srv__GetVisualTopics_Request__fini(msg); + } + allocator.deallocate(msg, allocator.state); +} + + +bool +bcr_bot__srv__GetVisualTopics_Request__Sequence__init(bcr_bot__srv__GetVisualTopics_Request__Sequence * array, size_t size) +{ + if (!array) { + return false; + } + rcutils_allocator_t allocator = rcutils_get_default_allocator(); + bcr_bot__srv__GetVisualTopics_Request * data = NULL; + + if (size) { + data = (bcr_bot__srv__GetVisualTopics_Request *)allocator.zero_allocate(size, sizeof(bcr_bot__srv__GetVisualTopics_Request), allocator.state); + if (!data) { + return false; + } + // initialize all array elements + size_t i; + for (i = 0; i < size; ++i) { + bool success = bcr_bot__srv__GetVisualTopics_Request__init(&data[i]); + if (!success) { + break; + } + } + if (i < size) { + // if initialization failed finalize the already initialized array elements + for (; i > 0; --i) { + bcr_bot__srv__GetVisualTopics_Request__fini(&data[i - 1]); + } + allocator.deallocate(data, allocator.state); + return false; + } + } + array->data = data; + array->size = size; + array->capacity = size; + return true; +} + +void +bcr_bot__srv__GetVisualTopics_Request__Sequence__fini(bcr_bot__srv__GetVisualTopics_Request__Sequence * array) +{ + if (!array) { + return; + } + rcutils_allocator_t allocator = rcutils_get_default_allocator(); + + if (array->data) { + // ensure that data and capacity values are consistent + assert(array->capacity > 0); + // finalize all array elements + for (size_t i = 0; i < array->capacity; ++i) { + bcr_bot__srv__GetVisualTopics_Request__fini(&array->data[i]); + } + allocator.deallocate(array->data, allocator.state); + array->data = NULL; + array->size = 0; + array->capacity = 0; + } else { + // ensure that data, size, and capacity values are consistent + assert(0 == array->size); + assert(0 == array->capacity); + } +} + +bcr_bot__srv__GetVisualTopics_Request__Sequence * +bcr_bot__srv__GetVisualTopics_Request__Sequence__create(size_t size) +{ + rcutils_allocator_t allocator = rcutils_get_default_allocator(); + bcr_bot__srv__GetVisualTopics_Request__Sequence * array = (bcr_bot__srv__GetVisualTopics_Request__Sequence *)allocator.allocate(sizeof(bcr_bot__srv__GetVisualTopics_Request__Sequence), allocator.state); + if (!array) { + return NULL; + } + bool success = bcr_bot__srv__GetVisualTopics_Request__Sequence__init(array, size); + if (!success) { + allocator.deallocate(array, allocator.state); + return NULL; + } + return array; +} + +void +bcr_bot__srv__GetVisualTopics_Request__Sequence__destroy(bcr_bot__srv__GetVisualTopics_Request__Sequence * array) +{ + rcutils_allocator_t allocator = rcutils_get_default_allocator(); + if (array) { + bcr_bot__srv__GetVisualTopics_Request__Sequence__fini(array); + } + allocator.deallocate(array, allocator.state); +} + +bool +bcr_bot__srv__GetVisualTopics_Request__Sequence__are_equal(const bcr_bot__srv__GetVisualTopics_Request__Sequence * lhs, const bcr_bot__srv__GetVisualTopics_Request__Sequence * rhs) +{ + if (!lhs || !rhs) { + return false; + } + if (lhs->size != rhs->size) { + return false; + } + for (size_t i = 0; i < lhs->size; ++i) { + if (!bcr_bot__srv__GetVisualTopics_Request__are_equal(&(lhs->data[i]), &(rhs->data[i]))) { + return false; + } + } + return true; +} + +bool +bcr_bot__srv__GetVisualTopics_Request__Sequence__copy( + const bcr_bot__srv__GetVisualTopics_Request__Sequence * input, + bcr_bot__srv__GetVisualTopics_Request__Sequence * output) +{ + if (!input || !output) { + return false; + } + if (output->capacity < input->size) { + const size_t allocation_size = + input->size * sizeof(bcr_bot__srv__GetVisualTopics_Request); + rcutils_allocator_t allocator = rcutils_get_default_allocator(); + bcr_bot__srv__GetVisualTopics_Request * data = + (bcr_bot__srv__GetVisualTopics_Request *)allocator.reallocate( + output->data, allocation_size, allocator.state); + if (!data) { + return false; + } + // If reallocation succeeded, memory may or may not have been moved + // to fulfill the allocation request, invalidating output->data. + output->data = data; + for (size_t i = output->capacity; i < input->size; ++i) { + if (!bcr_bot__srv__GetVisualTopics_Request__init(&output->data[i])) { + // If initialization of any new item fails, roll back + // all previously initialized items. Existing items + // in output are to be left unmodified. + for (; i-- > output->capacity; ) { + bcr_bot__srv__GetVisualTopics_Request__fini(&output->data[i]); + } + return false; + } + } + output->capacity = input->size; + } + output->size = input->size; + for (size_t i = 0; i < input->size; ++i) { + if (!bcr_bot__srv__GetVisualTopics_Request__copy( + &(input->data[i]), &(output->data[i]))) + { + return false; + } + } + return true; +} + + +// Include directives for member types +// Member `depth_image_topics` +// Member `rgb_image_topics` +// Member `camera_info_topics` +// Member `point_cloud_topics` +#include "rosidl_runtime_c/string_functions.h" + +bool +bcr_bot__srv__GetVisualTopics_Response__init(bcr_bot__srv__GetVisualTopics_Response * msg) +{ + if (!msg) { + return false; + } + // depth_image_topics + if (!rosidl_runtime_c__String__Sequence__init(&msg->depth_image_topics, 0)) { + bcr_bot__srv__GetVisualTopics_Response__fini(msg); + return false; + } + // rgb_image_topics + if (!rosidl_runtime_c__String__Sequence__init(&msg->rgb_image_topics, 0)) { + bcr_bot__srv__GetVisualTopics_Response__fini(msg); + return false; + } + // camera_info_topics + if (!rosidl_runtime_c__String__Sequence__init(&msg->camera_info_topics, 0)) { + bcr_bot__srv__GetVisualTopics_Response__fini(msg); + return false; + } + // point_cloud_topics + if (!rosidl_runtime_c__String__Sequence__init(&msg->point_cloud_topics, 0)) { + bcr_bot__srv__GetVisualTopics_Response__fini(msg); + return false; + } + return true; +} + +void +bcr_bot__srv__GetVisualTopics_Response__fini(bcr_bot__srv__GetVisualTopics_Response * msg) +{ + if (!msg) { + return; + } + // depth_image_topics + rosidl_runtime_c__String__Sequence__fini(&msg->depth_image_topics); + // rgb_image_topics + rosidl_runtime_c__String__Sequence__fini(&msg->rgb_image_topics); + // camera_info_topics + rosidl_runtime_c__String__Sequence__fini(&msg->camera_info_topics); + // point_cloud_topics + rosidl_runtime_c__String__Sequence__fini(&msg->point_cloud_topics); +} + +bool +bcr_bot__srv__GetVisualTopics_Response__are_equal(const bcr_bot__srv__GetVisualTopics_Response * lhs, const bcr_bot__srv__GetVisualTopics_Response * rhs) +{ + if (!lhs || !rhs) { + return false; + } + // depth_image_topics + if (!rosidl_runtime_c__String__Sequence__are_equal( + &(lhs->depth_image_topics), &(rhs->depth_image_topics))) + { + return false; + } + // rgb_image_topics + if (!rosidl_runtime_c__String__Sequence__are_equal( + &(lhs->rgb_image_topics), &(rhs->rgb_image_topics))) + { + return false; + } + // camera_info_topics + if (!rosidl_runtime_c__String__Sequence__are_equal( + &(lhs->camera_info_topics), &(rhs->camera_info_topics))) + { + return false; + } + // point_cloud_topics + if (!rosidl_runtime_c__String__Sequence__are_equal( + &(lhs->point_cloud_topics), &(rhs->point_cloud_topics))) + { + return false; + } + return true; +} + +bool +bcr_bot__srv__GetVisualTopics_Response__copy( + const bcr_bot__srv__GetVisualTopics_Response * input, + bcr_bot__srv__GetVisualTopics_Response * output) +{ + if (!input || !output) { + return false; + } + // depth_image_topics + if (!rosidl_runtime_c__String__Sequence__copy( + &(input->depth_image_topics), &(output->depth_image_topics))) + { + return false; + } + // rgb_image_topics + if (!rosidl_runtime_c__String__Sequence__copy( + &(input->rgb_image_topics), &(output->rgb_image_topics))) + { + return false; + } + // camera_info_topics + if (!rosidl_runtime_c__String__Sequence__copy( + &(input->camera_info_topics), &(output->camera_info_topics))) + { + return false; + } + // point_cloud_topics + if (!rosidl_runtime_c__String__Sequence__copy( + &(input->point_cloud_topics), &(output->point_cloud_topics))) + { + return false; + } + return true; +} + +bcr_bot__srv__GetVisualTopics_Response * +bcr_bot__srv__GetVisualTopics_Response__create() +{ + rcutils_allocator_t allocator = rcutils_get_default_allocator(); + bcr_bot__srv__GetVisualTopics_Response * msg = (bcr_bot__srv__GetVisualTopics_Response *)allocator.allocate(sizeof(bcr_bot__srv__GetVisualTopics_Response), allocator.state); + if (!msg) { + return NULL; + } + memset(msg, 0, sizeof(bcr_bot__srv__GetVisualTopics_Response)); + bool success = bcr_bot__srv__GetVisualTopics_Response__init(msg); + if (!success) { + allocator.deallocate(msg, allocator.state); + return NULL; + } + return msg; +} + +void +bcr_bot__srv__GetVisualTopics_Response__destroy(bcr_bot__srv__GetVisualTopics_Response * msg) +{ + rcutils_allocator_t allocator = rcutils_get_default_allocator(); + if (msg) { + bcr_bot__srv__GetVisualTopics_Response__fini(msg); + } + allocator.deallocate(msg, allocator.state); +} + + +bool +bcr_bot__srv__GetVisualTopics_Response__Sequence__init(bcr_bot__srv__GetVisualTopics_Response__Sequence * array, size_t size) +{ + if (!array) { + return false; + } + rcutils_allocator_t allocator = rcutils_get_default_allocator(); + bcr_bot__srv__GetVisualTopics_Response * data = NULL; + + if (size) { + data = (bcr_bot__srv__GetVisualTopics_Response *)allocator.zero_allocate(size, sizeof(bcr_bot__srv__GetVisualTopics_Response), allocator.state); + if (!data) { + return false; + } + // initialize all array elements + size_t i; + for (i = 0; i < size; ++i) { + bool success = bcr_bot__srv__GetVisualTopics_Response__init(&data[i]); + if (!success) { + break; + } + } + if (i < size) { + // if initialization failed finalize the already initialized array elements + for (; i > 0; --i) { + bcr_bot__srv__GetVisualTopics_Response__fini(&data[i - 1]); + } + allocator.deallocate(data, allocator.state); + return false; + } + } + array->data = data; + array->size = size; + array->capacity = size; + return true; +} + +void +bcr_bot__srv__GetVisualTopics_Response__Sequence__fini(bcr_bot__srv__GetVisualTopics_Response__Sequence * array) +{ + if (!array) { + return; + } + rcutils_allocator_t allocator = rcutils_get_default_allocator(); + + if (array->data) { + // ensure that data and capacity values are consistent + assert(array->capacity > 0); + // finalize all array elements + for (size_t i = 0; i < array->capacity; ++i) { + bcr_bot__srv__GetVisualTopics_Response__fini(&array->data[i]); + } + allocator.deallocate(array->data, allocator.state); + array->data = NULL; + array->size = 0; + array->capacity = 0; + } else { + // ensure that data, size, and capacity values are consistent + assert(0 == array->size); + assert(0 == array->capacity); + } +} + +bcr_bot__srv__GetVisualTopics_Response__Sequence * +bcr_bot__srv__GetVisualTopics_Response__Sequence__create(size_t size) +{ + rcutils_allocator_t allocator = rcutils_get_default_allocator(); + bcr_bot__srv__GetVisualTopics_Response__Sequence * array = (bcr_bot__srv__GetVisualTopics_Response__Sequence *)allocator.allocate(sizeof(bcr_bot__srv__GetVisualTopics_Response__Sequence), allocator.state); + if (!array) { + return NULL; + } + bool success = bcr_bot__srv__GetVisualTopics_Response__Sequence__init(array, size); + if (!success) { + allocator.deallocate(array, allocator.state); + return NULL; + } + return array; +} + +void +bcr_bot__srv__GetVisualTopics_Response__Sequence__destroy(bcr_bot__srv__GetVisualTopics_Response__Sequence * array) +{ + rcutils_allocator_t allocator = rcutils_get_default_allocator(); + if (array) { + bcr_bot__srv__GetVisualTopics_Response__Sequence__fini(array); + } + allocator.deallocate(array, allocator.state); +} + +bool +bcr_bot__srv__GetVisualTopics_Response__Sequence__are_equal(const bcr_bot__srv__GetVisualTopics_Response__Sequence * lhs, const bcr_bot__srv__GetVisualTopics_Response__Sequence * rhs) +{ + if (!lhs || !rhs) { + return false; + } + if (lhs->size != rhs->size) { + return false; + } + for (size_t i = 0; i < lhs->size; ++i) { + if (!bcr_bot__srv__GetVisualTopics_Response__are_equal(&(lhs->data[i]), &(rhs->data[i]))) { + return false; + } + } + return true; +} + +bool +bcr_bot__srv__GetVisualTopics_Response__Sequence__copy( + const bcr_bot__srv__GetVisualTopics_Response__Sequence * input, + bcr_bot__srv__GetVisualTopics_Response__Sequence * output) +{ + if (!input || !output) { + return false; + } + if (output->capacity < input->size) { + const size_t allocation_size = + input->size * sizeof(bcr_bot__srv__GetVisualTopics_Response); + rcutils_allocator_t allocator = rcutils_get_default_allocator(); + bcr_bot__srv__GetVisualTopics_Response * data = + (bcr_bot__srv__GetVisualTopics_Response *)allocator.reallocate( + output->data, allocation_size, allocator.state); + if (!data) { + return false; + } + // If reallocation succeeded, memory may or may not have been moved + // to fulfill the allocation request, invalidating output->data. + output->data = data; + for (size_t i = output->capacity; i < input->size; ++i) { + if (!bcr_bot__srv__GetVisualTopics_Response__init(&output->data[i])) { + // If initialization of any new item fails, roll back + // all previously initialized items. Existing items + // in output are to be left unmodified. + for (; i-- > output->capacity; ) { + bcr_bot__srv__GetVisualTopics_Response__fini(&output->data[i]); + } + return false; + } + } + output->capacity = input->size; + } + output->size = input->size; + for (size_t i = 0; i < input->size; ++i) { + if (!bcr_bot__srv__GetVisualTopics_Response__copy( + &(input->data[i]), &(output->data[i]))) + { + return false; + } + } + return true; +} diff --git a/install/bcr_bot/include/bcr_bot/bcr_bot/srv/detail/get_visual_topics__functions.h b/install/bcr_bot/include/bcr_bot/bcr_bot/srv/detail/get_visual_topics__functions.h new file mode 100644 index 0000000..e44edb1 --- /dev/null +++ b/install/bcr_bot/include/bcr_bot/bcr_bot/srv/detail/get_visual_topics__functions.h @@ -0,0 +1,329 @@ +// generated from rosidl_generator_c/resource/idl__functions.h.em +// with input from bcr_bot:srv/GetVisualTopics.idl +// generated code does not contain a copyright notice + +#ifndef BCR_BOT__SRV__DETAIL__GET_VISUAL_TOPICS__FUNCTIONS_H_ +#define BCR_BOT__SRV__DETAIL__GET_VISUAL_TOPICS__FUNCTIONS_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include +#include + +#include "rosidl_runtime_c/visibility_control.h" +#include "bcr_bot/msg/rosidl_generator_c__visibility_control.h" + +#include "bcr_bot/srv/detail/get_visual_topics__struct.h" + +/// Initialize srv/GetVisualTopics message. +/** + * If the init function is called twice for the same message without + * calling fini inbetween previously allocated memory will be leaked. + * \param[in,out] msg The previously allocated message pointer. + * Fields without a default value will not be initialized by this function. + * You might want to call memset(msg, 0, sizeof( + * bcr_bot__srv__GetVisualTopics_Request + * )) before or use + * bcr_bot__srv__GetVisualTopics_Request__create() + * to allocate and initialize the message. + * \return true if initialization was successful, otherwise false + */ +ROSIDL_GENERATOR_C_PUBLIC_bcr_bot +bool +bcr_bot__srv__GetVisualTopics_Request__init(bcr_bot__srv__GetVisualTopics_Request * msg); + +/// Finalize srv/GetVisualTopics message. +/** + * \param[in,out] msg The allocated message pointer. + */ +ROSIDL_GENERATOR_C_PUBLIC_bcr_bot +void +bcr_bot__srv__GetVisualTopics_Request__fini(bcr_bot__srv__GetVisualTopics_Request * msg); + +/// Create srv/GetVisualTopics message. +/** + * It allocates the memory for the message, sets the memory to zero, and + * calls + * bcr_bot__srv__GetVisualTopics_Request__init(). + * \return The pointer to the initialized message if successful, + * otherwise NULL + */ +ROSIDL_GENERATOR_C_PUBLIC_bcr_bot +bcr_bot__srv__GetVisualTopics_Request * +bcr_bot__srv__GetVisualTopics_Request__create(); + +/// Destroy srv/GetVisualTopics message. +/** + * It calls + * bcr_bot__srv__GetVisualTopics_Request__fini() + * and frees the memory of the message. + * \param[in,out] msg The allocated message pointer. + */ +ROSIDL_GENERATOR_C_PUBLIC_bcr_bot +void +bcr_bot__srv__GetVisualTopics_Request__destroy(bcr_bot__srv__GetVisualTopics_Request * msg); + +/// Check for srv/GetVisualTopics message equality. +/** + * \param[in] lhs The message on the left hand size of the equality operator. + * \param[in] rhs The message on the right hand size of the equality operator. + * \return true if messages are equal, otherwise false. + */ +ROSIDL_GENERATOR_C_PUBLIC_bcr_bot +bool +bcr_bot__srv__GetVisualTopics_Request__are_equal(const bcr_bot__srv__GetVisualTopics_Request * lhs, const bcr_bot__srv__GetVisualTopics_Request * rhs); + +/// Copy a srv/GetVisualTopics message. +/** + * This functions performs a deep copy, as opposed to the shallow copy that + * plain assignment yields. + * + * \param[in] input The source message pointer. + * \param[out] output The target message pointer, which must + * have been initialized before calling this function. + * \return true if successful, or false if either pointer is null + * or memory allocation fails. + */ +ROSIDL_GENERATOR_C_PUBLIC_bcr_bot +bool +bcr_bot__srv__GetVisualTopics_Request__copy( + const bcr_bot__srv__GetVisualTopics_Request * input, + bcr_bot__srv__GetVisualTopics_Request * output); + +/// Initialize array of srv/GetVisualTopics messages. +/** + * It allocates the memory for the number of elements and calls + * bcr_bot__srv__GetVisualTopics_Request__init() + * for each element of the array. + * \param[in,out] array The allocated array pointer. + * \param[in] size The size / capacity of the array. + * \return true if initialization was successful, otherwise false + * If the array pointer is valid and the size is zero it is guaranteed + # to return true. + */ +ROSIDL_GENERATOR_C_PUBLIC_bcr_bot +bool +bcr_bot__srv__GetVisualTopics_Request__Sequence__init(bcr_bot__srv__GetVisualTopics_Request__Sequence * array, size_t size); + +/// Finalize array of srv/GetVisualTopics messages. +/** + * It calls + * bcr_bot__srv__GetVisualTopics_Request__fini() + * for each element of the array and frees the memory for the number of + * elements. + * \param[in,out] array The initialized array pointer. + */ +ROSIDL_GENERATOR_C_PUBLIC_bcr_bot +void +bcr_bot__srv__GetVisualTopics_Request__Sequence__fini(bcr_bot__srv__GetVisualTopics_Request__Sequence * array); + +/// Create array of srv/GetVisualTopics messages. +/** + * It allocates the memory for the array and calls + * bcr_bot__srv__GetVisualTopics_Request__Sequence__init(). + * \param[in] size The size / capacity of the array. + * \return The pointer to the initialized array if successful, otherwise NULL + */ +ROSIDL_GENERATOR_C_PUBLIC_bcr_bot +bcr_bot__srv__GetVisualTopics_Request__Sequence * +bcr_bot__srv__GetVisualTopics_Request__Sequence__create(size_t size); + +/// Destroy array of srv/GetVisualTopics messages. +/** + * It calls + * bcr_bot__srv__GetVisualTopics_Request__Sequence__fini() + * on the array, + * and frees the memory of the array. + * \param[in,out] array The initialized array pointer. + */ +ROSIDL_GENERATOR_C_PUBLIC_bcr_bot +void +bcr_bot__srv__GetVisualTopics_Request__Sequence__destroy(bcr_bot__srv__GetVisualTopics_Request__Sequence * array); + +/// Check for srv/GetVisualTopics message array equality. +/** + * \param[in] lhs The message array on the left hand size of the equality operator. + * \param[in] rhs The message array on the right hand size of the equality operator. + * \return true if message arrays are equal in size and content, otherwise false. + */ +ROSIDL_GENERATOR_C_PUBLIC_bcr_bot +bool +bcr_bot__srv__GetVisualTopics_Request__Sequence__are_equal(const bcr_bot__srv__GetVisualTopics_Request__Sequence * lhs, const bcr_bot__srv__GetVisualTopics_Request__Sequence * rhs); + +/// Copy an array of srv/GetVisualTopics messages. +/** + * This functions performs a deep copy, as opposed to the shallow copy that + * plain assignment yields. + * + * \param[in] input The source array pointer. + * \param[out] output The target array pointer, which must + * have been initialized before calling this function. + * \return true if successful, or false if either pointer + * is null or memory allocation fails. + */ +ROSIDL_GENERATOR_C_PUBLIC_bcr_bot +bool +bcr_bot__srv__GetVisualTopics_Request__Sequence__copy( + const bcr_bot__srv__GetVisualTopics_Request__Sequence * input, + bcr_bot__srv__GetVisualTopics_Request__Sequence * output); + +/// Initialize srv/GetVisualTopics message. +/** + * If the init function is called twice for the same message without + * calling fini inbetween previously allocated memory will be leaked. + * \param[in,out] msg The previously allocated message pointer. + * Fields without a default value will not be initialized by this function. + * You might want to call memset(msg, 0, sizeof( + * bcr_bot__srv__GetVisualTopics_Response + * )) before or use + * bcr_bot__srv__GetVisualTopics_Response__create() + * to allocate and initialize the message. + * \return true if initialization was successful, otherwise false + */ +ROSIDL_GENERATOR_C_PUBLIC_bcr_bot +bool +bcr_bot__srv__GetVisualTopics_Response__init(bcr_bot__srv__GetVisualTopics_Response * msg); + +/// Finalize srv/GetVisualTopics message. +/** + * \param[in,out] msg The allocated message pointer. + */ +ROSIDL_GENERATOR_C_PUBLIC_bcr_bot +void +bcr_bot__srv__GetVisualTopics_Response__fini(bcr_bot__srv__GetVisualTopics_Response * msg); + +/// Create srv/GetVisualTopics message. +/** + * It allocates the memory for the message, sets the memory to zero, and + * calls + * bcr_bot__srv__GetVisualTopics_Response__init(). + * \return The pointer to the initialized message if successful, + * otherwise NULL + */ +ROSIDL_GENERATOR_C_PUBLIC_bcr_bot +bcr_bot__srv__GetVisualTopics_Response * +bcr_bot__srv__GetVisualTopics_Response__create(); + +/// Destroy srv/GetVisualTopics message. +/** + * It calls + * bcr_bot__srv__GetVisualTopics_Response__fini() + * and frees the memory of the message. + * \param[in,out] msg The allocated message pointer. + */ +ROSIDL_GENERATOR_C_PUBLIC_bcr_bot +void +bcr_bot__srv__GetVisualTopics_Response__destroy(bcr_bot__srv__GetVisualTopics_Response * msg); + +/// Check for srv/GetVisualTopics message equality. +/** + * \param[in] lhs The message on the left hand size of the equality operator. + * \param[in] rhs The message on the right hand size of the equality operator. + * \return true if messages are equal, otherwise false. + */ +ROSIDL_GENERATOR_C_PUBLIC_bcr_bot +bool +bcr_bot__srv__GetVisualTopics_Response__are_equal(const bcr_bot__srv__GetVisualTopics_Response * lhs, const bcr_bot__srv__GetVisualTopics_Response * rhs); + +/// Copy a srv/GetVisualTopics message. +/** + * This functions performs a deep copy, as opposed to the shallow copy that + * plain assignment yields. + * + * \param[in] input The source message pointer. + * \param[out] output The target message pointer, which must + * have been initialized before calling this function. + * \return true if successful, or false if either pointer is null + * or memory allocation fails. + */ +ROSIDL_GENERATOR_C_PUBLIC_bcr_bot +bool +bcr_bot__srv__GetVisualTopics_Response__copy( + const bcr_bot__srv__GetVisualTopics_Response * input, + bcr_bot__srv__GetVisualTopics_Response * output); + +/// Initialize array of srv/GetVisualTopics messages. +/** + * It allocates the memory for the number of elements and calls + * bcr_bot__srv__GetVisualTopics_Response__init() + * for each element of the array. + * \param[in,out] array The allocated array pointer. + * \param[in] size The size / capacity of the array. + * \return true if initialization was successful, otherwise false + * If the array pointer is valid and the size is zero it is guaranteed + # to return true. + */ +ROSIDL_GENERATOR_C_PUBLIC_bcr_bot +bool +bcr_bot__srv__GetVisualTopics_Response__Sequence__init(bcr_bot__srv__GetVisualTopics_Response__Sequence * array, size_t size); + +/// Finalize array of srv/GetVisualTopics messages. +/** + * It calls + * bcr_bot__srv__GetVisualTopics_Response__fini() + * for each element of the array and frees the memory for the number of + * elements. + * \param[in,out] array The initialized array pointer. + */ +ROSIDL_GENERATOR_C_PUBLIC_bcr_bot +void +bcr_bot__srv__GetVisualTopics_Response__Sequence__fini(bcr_bot__srv__GetVisualTopics_Response__Sequence * array); + +/// Create array of srv/GetVisualTopics messages. +/** + * It allocates the memory for the array and calls + * bcr_bot__srv__GetVisualTopics_Response__Sequence__init(). + * \param[in] size The size / capacity of the array. + * \return The pointer to the initialized array if successful, otherwise NULL + */ +ROSIDL_GENERATOR_C_PUBLIC_bcr_bot +bcr_bot__srv__GetVisualTopics_Response__Sequence * +bcr_bot__srv__GetVisualTopics_Response__Sequence__create(size_t size); + +/// Destroy array of srv/GetVisualTopics messages. +/** + * It calls + * bcr_bot__srv__GetVisualTopics_Response__Sequence__fini() + * on the array, + * and frees the memory of the array. + * \param[in,out] array The initialized array pointer. + */ +ROSIDL_GENERATOR_C_PUBLIC_bcr_bot +void +bcr_bot__srv__GetVisualTopics_Response__Sequence__destroy(bcr_bot__srv__GetVisualTopics_Response__Sequence * array); + +/// Check for srv/GetVisualTopics message array equality. +/** + * \param[in] lhs The message array on the left hand size of the equality operator. + * \param[in] rhs The message array on the right hand size of the equality operator. + * \return true if message arrays are equal in size and content, otherwise false. + */ +ROSIDL_GENERATOR_C_PUBLIC_bcr_bot +bool +bcr_bot__srv__GetVisualTopics_Response__Sequence__are_equal(const bcr_bot__srv__GetVisualTopics_Response__Sequence * lhs, const bcr_bot__srv__GetVisualTopics_Response__Sequence * rhs); + +/// Copy an array of srv/GetVisualTopics messages. +/** + * This functions performs a deep copy, as opposed to the shallow copy that + * plain assignment yields. + * + * \param[in] input The source array pointer. + * \param[out] output The target array pointer, which must + * have been initialized before calling this function. + * \return true if successful, or false if either pointer + * is null or memory allocation fails. + */ +ROSIDL_GENERATOR_C_PUBLIC_bcr_bot +bool +bcr_bot__srv__GetVisualTopics_Response__Sequence__copy( + const bcr_bot__srv__GetVisualTopics_Response__Sequence * input, + bcr_bot__srv__GetVisualTopics_Response__Sequence * output); + +#ifdef __cplusplus +} +#endif + +#endif // BCR_BOT__SRV__DETAIL__GET_VISUAL_TOPICS__FUNCTIONS_H_ diff --git a/install/bcr_bot/include/bcr_bot/bcr_bot/srv/detail/get_visual_topics__rosidl_typesupport_fastrtps_c.h b/install/bcr_bot/include/bcr_bot/bcr_bot/srv/detail/get_visual_topics__rosidl_typesupport_fastrtps_c.h new file mode 100644 index 0000000..8c74e87 --- /dev/null +++ b/install/bcr_bot/include/bcr_bot/bcr_bot/srv/detail/get_visual_topics__rosidl_typesupport_fastrtps_c.h @@ -0,0 +1,89 @@ +// generated from rosidl_typesupport_fastrtps_c/resource/idl__rosidl_typesupport_fastrtps_c.h.em +// with input from bcr_bot:srv/GetVisualTopics.idl +// generated code does not contain a copyright notice +#ifndef BCR_BOT__SRV__DETAIL__GET_VISUAL_TOPICS__ROSIDL_TYPESUPPORT_FASTRTPS_C_H_ +#define BCR_BOT__SRV__DETAIL__GET_VISUAL_TOPICS__ROSIDL_TYPESUPPORT_FASTRTPS_C_H_ + + +#include +#include "rosidl_runtime_c/message_type_support_struct.h" +#include "rosidl_typesupport_interface/macros.h" +#include "bcr_bot/msg/rosidl_typesupport_fastrtps_c__visibility_control.h" + +#ifdef __cplusplus +extern "C" +{ +#endif + +ROSIDL_TYPESUPPORT_FASTRTPS_C_PUBLIC_bcr_bot +size_t get_serialized_size_bcr_bot__srv__GetVisualTopics_Request( + const void * untyped_ros_message, + size_t current_alignment); + +ROSIDL_TYPESUPPORT_FASTRTPS_C_PUBLIC_bcr_bot +size_t max_serialized_size_bcr_bot__srv__GetVisualTopics_Request( + bool & full_bounded, + bool & is_plain, + size_t current_alignment); + +ROSIDL_TYPESUPPORT_FASTRTPS_C_PUBLIC_bcr_bot +const rosidl_message_type_support_t * +ROSIDL_TYPESUPPORT_INTERFACE__MESSAGE_SYMBOL_NAME(rosidl_typesupport_fastrtps_c, bcr_bot, srv, GetVisualTopics_Request)(); + +#ifdef __cplusplus +} +#endif + +// already included above +// #include +// already included above +// #include "rosidl_runtime_c/message_type_support_struct.h" +// already included above +// #include "rosidl_typesupport_interface/macros.h" +// already included above +// #include "bcr_bot/msg/rosidl_typesupport_fastrtps_c__visibility_control.h" + +#ifdef __cplusplus +extern "C" +{ +#endif + +ROSIDL_TYPESUPPORT_FASTRTPS_C_PUBLIC_bcr_bot +size_t get_serialized_size_bcr_bot__srv__GetVisualTopics_Response( + const void * untyped_ros_message, + size_t current_alignment); + +ROSIDL_TYPESUPPORT_FASTRTPS_C_PUBLIC_bcr_bot +size_t max_serialized_size_bcr_bot__srv__GetVisualTopics_Response( + bool & full_bounded, + bool & is_plain, + size_t current_alignment); + +ROSIDL_TYPESUPPORT_FASTRTPS_C_PUBLIC_bcr_bot +const rosidl_message_type_support_t * +ROSIDL_TYPESUPPORT_INTERFACE__MESSAGE_SYMBOL_NAME(rosidl_typesupport_fastrtps_c, bcr_bot, srv, GetVisualTopics_Response)(); + +#ifdef __cplusplus +} +#endif + +#include "rosidl_runtime_c/service_type_support_struct.h" +// already included above +// #include "rosidl_typesupport_interface/macros.h" +// already included above +// #include "bcr_bot/msg/rosidl_typesupport_fastrtps_c__visibility_control.h" + +#ifdef __cplusplus +extern "C" +{ +#endif + +ROSIDL_TYPESUPPORT_FASTRTPS_C_PUBLIC_bcr_bot +const rosidl_service_type_support_t * +ROSIDL_TYPESUPPORT_INTERFACE__SERVICE_SYMBOL_NAME(rosidl_typesupport_fastrtps_c, bcr_bot, srv, GetVisualTopics)(); + +#ifdef __cplusplus +} +#endif + +#endif // BCR_BOT__SRV__DETAIL__GET_VISUAL_TOPICS__ROSIDL_TYPESUPPORT_FASTRTPS_C_H_ diff --git a/install/bcr_bot/include/bcr_bot/bcr_bot/srv/detail/get_visual_topics__rosidl_typesupport_fastrtps_cpp.hpp b/install/bcr_bot/include/bcr_bot/bcr_bot/srv/detail/get_visual_topics__rosidl_typesupport_fastrtps_cpp.hpp new file mode 100644 index 0000000..f2cf029 --- /dev/null +++ b/install/bcr_bot/include/bcr_bot/bcr_bot/srv/detail/get_visual_topics__rosidl_typesupport_fastrtps_cpp.hpp @@ -0,0 +1,177 @@ +// generated from rosidl_typesupport_fastrtps_cpp/resource/idl__rosidl_typesupport_fastrtps_cpp.hpp.em +// with input from bcr_bot:srv/GetVisualTopics.idl +// generated code does not contain a copyright notice + +#ifndef BCR_BOT__SRV__DETAIL__GET_VISUAL_TOPICS__ROSIDL_TYPESUPPORT_FASTRTPS_CPP_HPP_ +#define BCR_BOT__SRV__DETAIL__GET_VISUAL_TOPICS__ROSIDL_TYPESUPPORT_FASTRTPS_CPP_HPP_ + +#include "rosidl_runtime_c/message_type_support_struct.h" +#include "rosidl_typesupport_interface/macros.h" +#include "bcr_bot/msg/rosidl_typesupport_fastrtps_cpp__visibility_control.h" +#include "bcr_bot/srv/detail/get_visual_topics__struct.hpp" + +#ifndef _WIN32 +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wunused-parameter" +# ifdef __clang__ +# pragma clang diagnostic ignored "-Wdeprecated-register" +# pragma clang diagnostic ignored "-Wreturn-type-c-linkage" +# endif +#endif +#ifndef _WIN32 +# pragma GCC diagnostic pop +#endif + +#include "fastcdr/Cdr.h" + +namespace bcr_bot +{ + +namespace srv +{ + +namespace typesupport_fastrtps_cpp +{ + +bool +ROSIDL_TYPESUPPORT_FASTRTPS_CPP_PUBLIC_bcr_bot +cdr_serialize( + const bcr_bot::srv::GetVisualTopics_Request & ros_message, + eprosima::fastcdr::Cdr & cdr); + +bool +ROSIDL_TYPESUPPORT_FASTRTPS_CPP_PUBLIC_bcr_bot +cdr_deserialize( + eprosima::fastcdr::Cdr & cdr, + bcr_bot::srv::GetVisualTopics_Request & ros_message); + +size_t +ROSIDL_TYPESUPPORT_FASTRTPS_CPP_PUBLIC_bcr_bot +get_serialized_size( + const bcr_bot::srv::GetVisualTopics_Request & ros_message, + size_t current_alignment); + +size_t +ROSIDL_TYPESUPPORT_FASTRTPS_CPP_PUBLIC_bcr_bot +max_serialized_size_GetVisualTopics_Request( + bool & full_bounded, + bool & is_plain, + size_t current_alignment); + +} // namespace typesupport_fastrtps_cpp + +} // namespace srv + +} // namespace bcr_bot + +#ifdef __cplusplus +extern "C" +{ +#endif + +ROSIDL_TYPESUPPORT_FASTRTPS_CPP_PUBLIC_bcr_bot +const rosidl_message_type_support_t * + ROSIDL_TYPESUPPORT_INTERFACE__MESSAGE_SYMBOL_NAME(rosidl_typesupport_fastrtps_cpp, bcr_bot, srv, GetVisualTopics_Request)(); + +#ifdef __cplusplus +} +#endif + +// already included above +// #include "rosidl_runtime_c/message_type_support_struct.h" +// already included above +// #include "rosidl_typesupport_interface/macros.h" +// already included above +// #include "bcr_bot/msg/rosidl_typesupport_fastrtps_cpp__visibility_control.h" +// already included above +// #include "bcr_bot/srv/detail/get_visual_topics__struct.hpp" + +#ifndef _WIN32 +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wunused-parameter" +# ifdef __clang__ +# pragma clang diagnostic ignored "-Wdeprecated-register" +# pragma clang diagnostic ignored "-Wreturn-type-c-linkage" +# endif +#endif +#ifndef _WIN32 +# pragma GCC diagnostic pop +#endif + +// already included above +// #include "fastcdr/Cdr.h" + +namespace bcr_bot +{ + +namespace srv +{ + +namespace typesupport_fastrtps_cpp +{ + +bool +ROSIDL_TYPESUPPORT_FASTRTPS_CPP_PUBLIC_bcr_bot +cdr_serialize( + const bcr_bot::srv::GetVisualTopics_Response & ros_message, + eprosima::fastcdr::Cdr & cdr); + +bool +ROSIDL_TYPESUPPORT_FASTRTPS_CPP_PUBLIC_bcr_bot +cdr_deserialize( + eprosima::fastcdr::Cdr & cdr, + bcr_bot::srv::GetVisualTopics_Response & ros_message); + +size_t +ROSIDL_TYPESUPPORT_FASTRTPS_CPP_PUBLIC_bcr_bot +get_serialized_size( + const bcr_bot::srv::GetVisualTopics_Response & ros_message, + size_t current_alignment); + +size_t +ROSIDL_TYPESUPPORT_FASTRTPS_CPP_PUBLIC_bcr_bot +max_serialized_size_GetVisualTopics_Response( + bool & full_bounded, + bool & is_plain, + size_t current_alignment); + +} // namespace typesupport_fastrtps_cpp + +} // namespace srv + +} // namespace bcr_bot + +#ifdef __cplusplus +extern "C" +{ +#endif + +ROSIDL_TYPESUPPORT_FASTRTPS_CPP_PUBLIC_bcr_bot +const rosidl_message_type_support_t * + ROSIDL_TYPESUPPORT_INTERFACE__MESSAGE_SYMBOL_NAME(rosidl_typesupport_fastrtps_cpp, bcr_bot, srv, GetVisualTopics_Response)(); + +#ifdef __cplusplus +} +#endif + +#include "rmw/types.h" +#include "rosidl_typesupport_cpp/service_type_support.hpp" +// already included above +// #include "rosidl_typesupport_interface/macros.h" +// already included above +// #include "bcr_bot/msg/rosidl_typesupport_fastrtps_cpp__visibility_control.h" + +#ifdef __cplusplus +extern "C" +{ +#endif + +ROSIDL_TYPESUPPORT_FASTRTPS_CPP_PUBLIC_bcr_bot +const rosidl_service_type_support_t * + ROSIDL_TYPESUPPORT_INTERFACE__SERVICE_SYMBOL_NAME(rosidl_typesupport_fastrtps_cpp, bcr_bot, srv, GetVisualTopics)(); + +#ifdef __cplusplus +} +#endif + +#endif // BCR_BOT__SRV__DETAIL__GET_VISUAL_TOPICS__ROSIDL_TYPESUPPORT_FASTRTPS_CPP_HPP_ diff --git a/install/bcr_bot/include/bcr_bot/bcr_bot/srv/detail/get_visual_topics__rosidl_typesupport_introspection_c.h b/install/bcr_bot/include/bcr_bot/bcr_bot/srv/detail/get_visual_topics__rosidl_typesupport_introspection_c.h new file mode 100644 index 0000000..3ae240e --- /dev/null +++ b/install/bcr_bot/include/bcr_bot/bcr_bot/srv/detail/get_visual_topics__rosidl_typesupport_introspection_c.h @@ -0,0 +1,47 @@ +// generated from rosidl_typesupport_introspection_c/resource/idl__rosidl_typesupport_introspection_c.h.em +// with input from bcr_bot:srv/GetVisualTopics.idl +// generated code does not contain a copyright notice + +#ifndef BCR_BOT__SRV__DETAIL__GET_VISUAL_TOPICS__ROSIDL_TYPESUPPORT_INTROSPECTION_C_H_ +#define BCR_BOT__SRV__DETAIL__GET_VISUAL_TOPICS__ROSIDL_TYPESUPPORT_INTROSPECTION_C_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + + +#include "rosidl_runtime_c/message_type_support_struct.h" +#include "rosidl_typesupport_interface/macros.h" +#include "bcr_bot/msg/rosidl_typesupport_introspection_c__visibility_control.h" + +ROSIDL_TYPESUPPORT_INTROSPECTION_C_PUBLIC_bcr_bot +const rosidl_message_type_support_t * +ROSIDL_TYPESUPPORT_INTERFACE__MESSAGE_SYMBOL_NAME(rosidl_typesupport_introspection_c, bcr_bot, srv, GetVisualTopics_Request)(); + +// already included above +// #include "rosidl_runtime_c/message_type_support_struct.h" +// already included above +// #include "rosidl_typesupport_interface/macros.h" +// already included above +// #include "bcr_bot/msg/rosidl_typesupport_introspection_c__visibility_control.h" + +ROSIDL_TYPESUPPORT_INTROSPECTION_C_PUBLIC_bcr_bot +const rosidl_message_type_support_t * +ROSIDL_TYPESUPPORT_INTERFACE__MESSAGE_SYMBOL_NAME(rosidl_typesupport_introspection_c, bcr_bot, srv, GetVisualTopics_Response)(); + +#include "rosidl_runtime_c/service_type_support_struct.h" +// already included above +// #include "rosidl_typesupport_interface/macros.h" +// already included above +// #include "bcr_bot/msg/rosidl_typesupport_introspection_c__visibility_control.h" + +ROSIDL_TYPESUPPORT_INTROSPECTION_C_PUBLIC_bcr_bot +const rosidl_service_type_support_t * +ROSIDL_TYPESUPPORT_INTERFACE__SERVICE_SYMBOL_NAME(rosidl_typesupport_introspection_c, bcr_bot, srv, GetVisualTopics)(); + +#ifdef __cplusplus +} +#endif + +#endif // BCR_BOT__SRV__DETAIL__GET_VISUAL_TOPICS__ROSIDL_TYPESUPPORT_INTROSPECTION_C_H_ diff --git a/install/bcr_bot/include/bcr_bot/bcr_bot/srv/detail/get_visual_topics__rosidl_typesupport_introspection_cpp.hpp b/install/bcr_bot/include/bcr_bot/bcr_bot/srv/detail/get_visual_topics__rosidl_typesupport_introspection_cpp.hpp new file mode 100644 index 0000000..b91b2d7 --- /dev/null +++ b/install/bcr_bot/include/bcr_bot/bcr_bot/srv/detail/get_visual_topics__rosidl_typesupport_introspection_cpp.hpp @@ -0,0 +1,67 @@ +// generated from rosidl_typesupport_introspection_cpp/resource/idl__rosidl_typesupport_introspection_cpp.h.em +// with input from bcr_bot:srv/GetVisualTopics.idl +// generated code does not contain a copyright notice + +#ifndef BCR_BOT__SRV__DETAIL__GET_VISUAL_TOPICS__ROSIDL_TYPESUPPORT_INTROSPECTION_CPP_HPP_ +#define BCR_BOT__SRV__DETAIL__GET_VISUAL_TOPICS__ROSIDL_TYPESUPPORT_INTROSPECTION_CPP_HPP_ + + +#include "rosidl_runtime_c/message_type_support_struct.h" +#include "rosidl_typesupport_interface/macros.h" +#include "rosidl_typesupport_introspection_cpp/visibility_control.h" + +#ifdef __cplusplus +extern "C" +{ +#endif + +// TODO(dirk-thomas) these visibility macros should be message package specific +ROSIDL_TYPESUPPORT_INTROSPECTION_CPP_PUBLIC +const rosidl_message_type_support_t * + ROSIDL_TYPESUPPORT_INTERFACE__MESSAGE_SYMBOL_NAME(rosidl_typesupport_introspection_cpp, bcr_bot, srv, GetVisualTopics_Request)(); + +#ifdef __cplusplus +} +#endif + +// already included above +// #include "rosidl_runtime_c/message_type_support_struct.h" +// already included above +// #include "rosidl_typesupport_interface/macros.h" +// already included above +// #include "rosidl_typesupport_introspection_cpp/visibility_control.h" + +#ifdef __cplusplus +extern "C" +{ +#endif + +// TODO(dirk-thomas) these visibility macros should be message package specific +ROSIDL_TYPESUPPORT_INTROSPECTION_CPP_PUBLIC +const rosidl_message_type_support_t * + ROSIDL_TYPESUPPORT_INTERFACE__MESSAGE_SYMBOL_NAME(rosidl_typesupport_introspection_cpp, bcr_bot, srv, GetVisualTopics_Response)(); + +#ifdef __cplusplus +} +#endif + +#include "rosidl_runtime_c/service_type_support_struct.h" +// already included above +// #include "rosidl_typesupport_interface/macros.h" +// already included above +// #include "rosidl_typesupport_introspection_cpp/visibility_control.h" + +#ifdef __cplusplus +extern "C" +{ +#endif + +ROSIDL_TYPESUPPORT_INTROSPECTION_CPP_PUBLIC +const rosidl_service_type_support_t * + ROSIDL_TYPESUPPORT_INTERFACE__SERVICE_SYMBOL_NAME(rosidl_typesupport_introspection_cpp, bcr_bot, srv, GetVisualTopics)(); + +#ifdef __cplusplus +} +#endif + +#endif // BCR_BOT__SRV__DETAIL__GET_VISUAL_TOPICS__ROSIDL_TYPESUPPORT_INTROSPECTION_CPP_HPP_ diff --git a/install/bcr_bot/include/bcr_bot/bcr_bot/srv/detail/get_visual_topics__struct.h b/install/bcr_bot/include/bcr_bot/bcr_bot/srv/detail/get_visual_topics__struct.h new file mode 100644 index 0000000..60471b2 --- /dev/null +++ b/install/bcr_bot/include/bcr_bot/bcr_bot/srv/detail/get_visual_topics__struct.h @@ -0,0 +1,69 @@ +// generated from rosidl_generator_c/resource/idl__struct.h.em +// with input from bcr_bot:srv/GetVisualTopics.idl +// generated code does not contain a copyright notice + +#ifndef BCR_BOT__SRV__DETAIL__GET_VISUAL_TOPICS__STRUCT_H_ +#define BCR_BOT__SRV__DETAIL__GET_VISUAL_TOPICS__STRUCT_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include +#include +#include + + +// Constants defined in the message + +/// Struct defined in srv/GetVisualTopics in the package bcr_bot. +typedef struct bcr_bot__srv__GetVisualTopics_Request +{ + bool refresh; +} bcr_bot__srv__GetVisualTopics_Request; + +// Struct for a sequence of bcr_bot__srv__GetVisualTopics_Request. +typedef struct bcr_bot__srv__GetVisualTopics_Request__Sequence +{ + bcr_bot__srv__GetVisualTopics_Request * data; + /// The number of valid items in data + size_t size; + /// The number of allocated items in data + size_t capacity; +} bcr_bot__srv__GetVisualTopics_Request__Sequence; + + +// Constants defined in the message + +// Include directives for member types +// Member 'depth_image_topics' +// Member 'rgb_image_topics' +// Member 'camera_info_topics' +// Member 'point_cloud_topics' +#include "rosidl_runtime_c/string.h" + +/// Struct defined in srv/GetVisualTopics in the package bcr_bot. +typedef struct bcr_bot__srv__GetVisualTopics_Response +{ + rosidl_runtime_c__String__Sequence depth_image_topics; + rosidl_runtime_c__String__Sequence rgb_image_topics; + rosidl_runtime_c__String__Sequence camera_info_topics; + rosidl_runtime_c__String__Sequence point_cloud_topics; +} bcr_bot__srv__GetVisualTopics_Response; + +// Struct for a sequence of bcr_bot__srv__GetVisualTopics_Response. +typedef struct bcr_bot__srv__GetVisualTopics_Response__Sequence +{ + bcr_bot__srv__GetVisualTopics_Response * data; + /// The number of valid items in data + size_t size; + /// The number of allocated items in data + size_t capacity; +} bcr_bot__srv__GetVisualTopics_Response__Sequence; + +#ifdef __cplusplus +} +#endif + +#endif // BCR_BOT__SRV__DETAIL__GET_VISUAL_TOPICS__STRUCT_H_ diff --git a/install/bcr_bot/include/bcr_bot/bcr_bot/srv/detail/get_visual_topics__struct.hpp b/install/bcr_bot/include/bcr_bot/bcr_bot/srv/detail/get_visual_topics__struct.hpp new file mode 100644 index 0000000..a1db167 --- /dev/null +++ b/install/bcr_bot/include/bcr_bot/bcr_bot/srv/detail/get_visual_topics__struct.hpp @@ -0,0 +1,290 @@ +// generated from rosidl_generator_cpp/resource/idl__struct.hpp.em +// with input from bcr_bot:srv/GetVisualTopics.idl +// generated code does not contain a copyright notice + +#ifndef BCR_BOT__SRV__DETAIL__GET_VISUAL_TOPICS__STRUCT_HPP_ +#define BCR_BOT__SRV__DETAIL__GET_VISUAL_TOPICS__STRUCT_HPP_ + +#include +#include +#include +#include +#include +#include + +#include "rosidl_runtime_cpp/bounded_vector.hpp" +#include "rosidl_runtime_cpp/message_initialization.hpp" + + +#ifndef _WIN32 +# define DEPRECATED__bcr_bot__srv__GetVisualTopics_Request __attribute__((deprecated)) +#else +# define DEPRECATED__bcr_bot__srv__GetVisualTopics_Request __declspec(deprecated) +#endif + +namespace bcr_bot +{ + +namespace srv +{ + +// message struct +template +struct GetVisualTopics_Request_ +{ + using Type = GetVisualTopics_Request_; + + explicit GetVisualTopics_Request_(rosidl_runtime_cpp::MessageInitialization _init = rosidl_runtime_cpp::MessageInitialization::ALL) + { + if (rosidl_runtime_cpp::MessageInitialization::ALL == _init || + rosidl_runtime_cpp::MessageInitialization::ZERO == _init) + { + this->refresh = false; + } + } + + explicit GetVisualTopics_Request_(const ContainerAllocator & _alloc, rosidl_runtime_cpp::MessageInitialization _init = rosidl_runtime_cpp::MessageInitialization::ALL) + { + (void)_alloc; + if (rosidl_runtime_cpp::MessageInitialization::ALL == _init || + rosidl_runtime_cpp::MessageInitialization::ZERO == _init) + { + this->refresh = false; + } + } + + // field types and members + using _refresh_type = + bool; + _refresh_type refresh; + + // setters for named parameter idiom + Type & set__refresh( + const bool & _arg) + { + this->refresh = _arg; + return *this; + } + + // constant declarations + + // pointer types + using RawPtr = + bcr_bot::srv::GetVisualTopics_Request_ *; + using ConstRawPtr = + const bcr_bot::srv::GetVisualTopics_Request_ *; + using SharedPtr = + std::shared_ptr>; + using ConstSharedPtr = + std::shared_ptr const>; + + template>> + using UniquePtrWithDeleter = + std::unique_ptr, Deleter>; + + using UniquePtr = UniquePtrWithDeleter<>; + + template>> + using ConstUniquePtrWithDeleter = + std::unique_ptr const, Deleter>; + using ConstUniquePtr = ConstUniquePtrWithDeleter<>; + + using WeakPtr = + std::weak_ptr>; + using ConstWeakPtr = + std::weak_ptr const>; + + // pointer types similar to ROS 1, use SharedPtr / ConstSharedPtr instead + // NOTE: Can't use 'using' here because GNU C++ can't parse attributes properly + typedef DEPRECATED__bcr_bot__srv__GetVisualTopics_Request + std::shared_ptr> + Ptr; + typedef DEPRECATED__bcr_bot__srv__GetVisualTopics_Request + std::shared_ptr const> + ConstPtr; + + // comparison operators + bool operator==(const GetVisualTopics_Request_ & other) const + { + if (this->refresh != other.refresh) { + return false; + } + return true; + } + bool operator!=(const GetVisualTopics_Request_ & other) const + { + return !this->operator==(other); + } +}; // struct GetVisualTopics_Request_ + +// alias to use template instance with default allocator +using GetVisualTopics_Request = + bcr_bot::srv::GetVisualTopics_Request_>; + +// constant definitions + +} // namespace srv + +} // namespace bcr_bot + + +#ifndef _WIN32 +# define DEPRECATED__bcr_bot__srv__GetVisualTopics_Response __attribute__((deprecated)) +#else +# define DEPRECATED__bcr_bot__srv__GetVisualTopics_Response __declspec(deprecated) +#endif + +namespace bcr_bot +{ + +namespace srv +{ + +// message struct +template +struct GetVisualTopics_Response_ +{ + using Type = GetVisualTopics_Response_; + + explicit GetVisualTopics_Response_(rosidl_runtime_cpp::MessageInitialization _init = rosidl_runtime_cpp::MessageInitialization::ALL) + { + (void)_init; + } + + explicit GetVisualTopics_Response_(const ContainerAllocator & _alloc, rosidl_runtime_cpp::MessageInitialization _init = rosidl_runtime_cpp::MessageInitialization::ALL) + { + (void)_init; + (void)_alloc; + } + + // field types and members + using _depth_image_topics_type = + std::vector, typename std::allocator_traits::template rebind_alloc>, typename std::allocator_traits::template rebind_alloc, typename std::allocator_traits::template rebind_alloc>>>; + _depth_image_topics_type depth_image_topics; + using _rgb_image_topics_type = + std::vector, typename std::allocator_traits::template rebind_alloc>, typename std::allocator_traits::template rebind_alloc, typename std::allocator_traits::template rebind_alloc>>>; + _rgb_image_topics_type rgb_image_topics; + using _camera_info_topics_type = + std::vector, typename std::allocator_traits::template rebind_alloc>, typename std::allocator_traits::template rebind_alloc, typename std::allocator_traits::template rebind_alloc>>>; + _camera_info_topics_type camera_info_topics; + using _point_cloud_topics_type = + std::vector, typename std::allocator_traits::template rebind_alloc>, typename std::allocator_traits::template rebind_alloc, typename std::allocator_traits::template rebind_alloc>>>; + _point_cloud_topics_type point_cloud_topics; + + // setters for named parameter idiom + Type & set__depth_image_topics( + const std::vector, typename std::allocator_traits::template rebind_alloc>, typename std::allocator_traits::template rebind_alloc, typename std::allocator_traits::template rebind_alloc>>> & _arg) + { + this->depth_image_topics = _arg; + return *this; + } + Type & set__rgb_image_topics( + const std::vector, typename std::allocator_traits::template rebind_alloc>, typename std::allocator_traits::template rebind_alloc, typename std::allocator_traits::template rebind_alloc>>> & _arg) + { + this->rgb_image_topics = _arg; + return *this; + } + Type & set__camera_info_topics( + const std::vector, typename std::allocator_traits::template rebind_alloc>, typename std::allocator_traits::template rebind_alloc, typename std::allocator_traits::template rebind_alloc>>> & _arg) + { + this->camera_info_topics = _arg; + return *this; + } + Type & set__point_cloud_topics( + const std::vector, typename std::allocator_traits::template rebind_alloc>, typename std::allocator_traits::template rebind_alloc, typename std::allocator_traits::template rebind_alloc>>> & _arg) + { + this->point_cloud_topics = _arg; + return *this; + } + + // constant declarations + + // pointer types + using RawPtr = + bcr_bot::srv::GetVisualTopics_Response_ *; + using ConstRawPtr = + const bcr_bot::srv::GetVisualTopics_Response_ *; + using SharedPtr = + std::shared_ptr>; + using ConstSharedPtr = + std::shared_ptr const>; + + template>> + using UniquePtrWithDeleter = + std::unique_ptr, Deleter>; + + using UniquePtr = UniquePtrWithDeleter<>; + + template>> + using ConstUniquePtrWithDeleter = + std::unique_ptr const, Deleter>; + using ConstUniquePtr = ConstUniquePtrWithDeleter<>; + + using WeakPtr = + std::weak_ptr>; + using ConstWeakPtr = + std::weak_ptr const>; + + // pointer types similar to ROS 1, use SharedPtr / ConstSharedPtr instead + // NOTE: Can't use 'using' here because GNU C++ can't parse attributes properly + typedef DEPRECATED__bcr_bot__srv__GetVisualTopics_Response + std::shared_ptr> + Ptr; + typedef DEPRECATED__bcr_bot__srv__GetVisualTopics_Response + std::shared_ptr const> + ConstPtr; + + // comparison operators + bool operator==(const GetVisualTopics_Response_ & other) const + { + if (this->depth_image_topics != other.depth_image_topics) { + return false; + } + if (this->rgb_image_topics != other.rgb_image_topics) { + return false; + } + if (this->camera_info_topics != other.camera_info_topics) { + return false; + } + if (this->point_cloud_topics != other.point_cloud_topics) { + return false; + } + return true; + } + bool operator!=(const GetVisualTopics_Response_ & other) const + { + return !this->operator==(other); + } +}; // struct GetVisualTopics_Response_ + +// alias to use template instance with default allocator +using GetVisualTopics_Response = + bcr_bot::srv::GetVisualTopics_Response_>; + +// constant definitions + +} // namespace srv + +} // namespace bcr_bot + +namespace bcr_bot +{ + +namespace srv +{ + +struct GetVisualTopics +{ + using Request = bcr_bot::srv::GetVisualTopics_Request; + using Response = bcr_bot::srv::GetVisualTopics_Response; +}; + +} // namespace srv + +} // namespace bcr_bot + +#endif // BCR_BOT__SRV__DETAIL__GET_VISUAL_TOPICS__STRUCT_HPP_ diff --git a/install/bcr_bot/include/bcr_bot/bcr_bot/srv/detail/get_visual_topics__traits.hpp b/install/bcr_bot/include/bcr_bot/bcr_bot/srv/detail/get_visual_topics__traits.hpp new file mode 100644 index 0000000..124d018 --- /dev/null +++ b/install/bcr_bot/include/bcr_bot/bcr_bot/srv/detail/get_visual_topics__traits.hpp @@ -0,0 +1,391 @@ +// generated from rosidl_generator_cpp/resource/idl__traits.hpp.em +// with input from bcr_bot:srv/GetVisualTopics.idl +// generated code does not contain a copyright notice + +#ifndef BCR_BOT__SRV__DETAIL__GET_VISUAL_TOPICS__TRAITS_HPP_ +#define BCR_BOT__SRV__DETAIL__GET_VISUAL_TOPICS__TRAITS_HPP_ + +#include + +#include +#include +#include + +#include "bcr_bot/srv/detail/get_visual_topics__struct.hpp" +#include "rosidl_runtime_cpp/traits.hpp" + +namespace bcr_bot +{ + +namespace srv +{ + +inline void to_flow_style_yaml( + const GetVisualTopics_Request & msg, + std::ostream & out) +{ + out << "{"; + // member: refresh + { + out << "refresh: "; + rosidl_generator_traits::value_to_yaml(msg.refresh, out); + } + out << "}"; +} // NOLINT(readability/fn_size) + +inline void to_block_style_yaml( + const GetVisualTopics_Request & msg, + std::ostream & out, size_t indentation = 0) +{ + // member: refresh + { + if (indentation > 0) { + out << std::string(indentation, ' '); + } + out << "refresh: "; + rosidl_generator_traits::value_to_yaml(msg.refresh, out); + out << "\n"; + } +} // NOLINT(readability/fn_size) + +inline std::string to_yaml(const GetVisualTopics_Request & msg, bool use_flow_style = false) +{ + std::ostringstream out; + if (use_flow_style) { + to_flow_style_yaml(msg, out); + } else { + to_block_style_yaml(msg, out); + } + return out.str(); +} + +} // namespace srv + +} // namespace bcr_bot + +namespace rosidl_generator_traits +{ + +[[deprecated("use bcr_bot::srv::to_block_style_yaml() instead")]] +inline void to_yaml( + const bcr_bot::srv::GetVisualTopics_Request & msg, + std::ostream & out, size_t indentation = 0) +{ + bcr_bot::srv::to_block_style_yaml(msg, out, indentation); +} + +[[deprecated("use bcr_bot::srv::to_yaml() instead")]] +inline std::string to_yaml(const bcr_bot::srv::GetVisualTopics_Request & msg) +{ + return bcr_bot::srv::to_yaml(msg); +} + +template<> +inline const char * data_type() +{ + return "bcr_bot::srv::GetVisualTopics_Request"; +} + +template<> +inline const char * name() +{ + return "bcr_bot/srv/GetVisualTopics_Request"; +} + +template<> +struct has_fixed_size + : std::integral_constant {}; + +template<> +struct has_bounded_size + : std::integral_constant {}; + +template<> +struct is_message + : std::true_type {}; + +} // namespace rosidl_generator_traits + +namespace bcr_bot +{ + +namespace srv +{ + +inline void to_flow_style_yaml( + const GetVisualTopics_Response & msg, + std::ostream & out) +{ + out << "{"; + // member: depth_image_topics + { + if (msg.depth_image_topics.size() == 0) { + out << "depth_image_topics: []"; + } else { + out << "depth_image_topics: ["; + size_t pending_items = msg.depth_image_topics.size(); + for (auto item : msg.depth_image_topics) { + rosidl_generator_traits::value_to_yaml(item, out); + if (--pending_items > 0) { + out << ", "; + } + } + out << "]"; + } + out << ", "; + } + + // member: rgb_image_topics + { + if (msg.rgb_image_topics.size() == 0) { + out << "rgb_image_topics: []"; + } else { + out << "rgb_image_topics: ["; + size_t pending_items = msg.rgb_image_topics.size(); + for (auto item : msg.rgb_image_topics) { + rosidl_generator_traits::value_to_yaml(item, out); + if (--pending_items > 0) { + out << ", "; + } + } + out << "]"; + } + out << ", "; + } + + // member: camera_info_topics + { + if (msg.camera_info_topics.size() == 0) { + out << "camera_info_topics: []"; + } else { + out << "camera_info_topics: ["; + size_t pending_items = msg.camera_info_topics.size(); + for (auto item : msg.camera_info_topics) { + rosidl_generator_traits::value_to_yaml(item, out); + if (--pending_items > 0) { + out << ", "; + } + } + out << "]"; + } + out << ", "; + } + + // member: point_cloud_topics + { + if (msg.point_cloud_topics.size() == 0) { + out << "point_cloud_topics: []"; + } else { + out << "point_cloud_topics: ["; + size_t pending_items = msg.point_cloud_topics.size(); + for (auto item : msg.point_cloud_topics) { + rosidl_generator_traits::value_to_yaml(item, out); + if (--pending_items > 0) { + out << ", "; + } + } + out << "]"; + } + } + out << "}"; +} // NOLINT(readability/fn_size) + +inline void to_block_style_yaml( + const GetVisualTopics_Response & msg, + std::ostream & out, size_t indentation = 0) +{ + // member: depth_image_topics + { + if (indentation > 0) { + out << std::string(indentation, ' '); + } + if (msg.depth_image_topics.size() == 0) { + out << "depth_image_topics: []\n"; + } else { + out << "depth_image_topics:\n"; + for (auto item : msg.depth_image_topics) { + if (indentation > 0) { + out << std::string(indentation, ' '); + } + out << "- "; + rosidl_generator_traits::value_to_yaml(item, out); + out << "\n"; + } + } + } + + // member: rgb_image_topics + { + if (indentation > 0) { + out << std::string(indentation, ' '); + } + if (msg.rgb_image_topics.size() == 0) { + out << "rgb_image_topics: []\n"; + } else { + out << "rgb_image_topics:\n"; + for (auto item : msg.rgb_image_topics) { + if (indentation > 0) { + out << std::string(indentation, ' '); + } + out << "- "; + rosidl_generator_traits::value_to_yaml(item, out); + out << "\n"; + } + } + } + + // member: camera_info_topics + { + if (indentation > 0) { + out << std::string(indentation, ' '); + } + if (msg.camera_info_topics.size() == 0) { + out << "camera_info_topics: []\n"; + } else { + out << "camera_info_topics:\n"; + for (auto item : msg.camera_info_topics) { + if (indentation > 0) { + out << std::string(indentation, ' '); + } + out << "- "; + rosidl_generator_traits::value_to_yaml(item, out); + out << "\n"; + } + } + } + + // member: point_cloud_topics + { + if (indentation > 0) { + out << std::string(indentation, ' '); + } + if (msg.point_cloud_topics.size() == 0) { + out << "point_cloud_topics: []\n"; + } else { + out << "point_cloud_topics:\n"; + for (auto item : msg.point_cloud_topics) { + if (indentation > 0) { + out << std::string(indentation, ' '); + } + out << "- "; + rosidl_generator_traits::value_to_yaml(item, out); + out << "\n"; + } + } + } +} // NOLINT(readability/fn_size) + +inline std::string to_yaml(const GetVisualTopics_Response & msg, bool use_flow_style = false) +{ + std::ostringstream out; + if (use_flow_style) { + to_flow_style_yaml(msg, out); + } else { + to_block_style_yaml(msg, out); + } + return out.str(); +} + +} // namespace srv + +} // namespace bcr_bot + +namespace rosidl_generator_traits +{ + +[[deprecated("use bcr_bot::srv::to_block_style_yaml() instead")]] +inline void to_yaml( + const bcr_bot::srv::GetVisualTopics_Response & msg, + std::ostream & out, size_t indentation = 0) +{ + bcr_bot::srv::to_block_style_yaml(msg, out, indentation); +} + +[[deprecated("use bcr_bot::srv::to_yaml() instead")]] +inline std::string to_yaml(const bcr_bot::srv::GetVisualTopics_Response & msg) +{ + return bcr_bot::srv::to_yaml(msg); +} + +template<> +inline const char * data_type() +{ + return "bcr_bot::srv::GetVisualTopics_Response"; +} + +template<> +inline const char * name() +{ + return "bcr_bot/srv/GetVisualTopics_Response"; +} + +template<> +struct has_fixed_size + : std::integral_constant {}; + +template<> +struct has_bounded_size + : std::integral_constant {}; + +template<> +struct is_message + : std::true_type {}; + +} // namespace rosidl_generator_traits + +namespace rosidl_generator_traits +{ + +template<> +inline const char * data_type() +{ + return "bcr_bot::srv::GetVisualTopics"; +} + +template<> +inline const char * name() +{ + return "bcr_bot/srv/GetVisualTopics"; +} + +template<> +struct has_fixed_size + : std::integral_constant< + bool, + has_fixed_size::value && + has_fixed_size::value + > +{ +}; + +template<> +struct has_bounded_size + : std::integral_constant< + bool, + has_bounded_size::value && + has_bounded_size::value + > +{ +}; + +template<> +struct is_service + : std::true_type +{ +}; + +template<> +struct is_service_request + : std::true_type +{ +}; + +template<> +struct is_service_response + : std::true_type +{ +}; + +} // namespace rosidl_generator_traits + +#endif // BCR_BOT__SRV__DETAIL__GET_VISUAL_TOPICS__TRAITS_HPP_ diff --git a/install/bcr_bot/include/bcr_bot/bcr_bot/srv/detail/get_visual_topics__type_support.c b/install/bcr_bot/include/bcr_bot/bcr_bot/srv/detail/get_visual_topics__type_support.c new file mode 100644 index 0000000..b095b8e --- /dev/null +++ b/install/bcr_bot/include/bcr_bot/bcr_bot/srv/detail/get_visual_topics__type_support.c @@ -0,0 +1,506 @@ +// generated from rosidl_typesupport_introspection_c/resource/idl__type_support.c.em +// with input from bcr_bot:srv/GetVisualTopics.idl +// generated code does not contain a copyright notice + +#include +#include "bcr_bot/srv/detail/get_visual_topics__rosidl_typesupport_introspection_c.h" +#include "bcr_bot/msg/rosidl_typesupport_introspection_c__visibility_control.h" +#include "rosidl_typesupport_introspection_c/field_types.h" +#include "rosidl_typesupport_introspection_c/identifier.h" +#include "rosidl_typesupport_introspection_c/message_introspection.h" +#include "bcr_bot/srv/detail/get_visual_topics__functions.h" +#include "bcr_bot/srv/detail/get_visual_topics__struct.h" + + +#ifdef __cplusplus +extern "C" +{ +#endif + +void bcr_bot__srv__GetVisualTopics_Request__rosidl_typesupport_introspection_c__GetVisualTopics_Request_init_function( + void * message_memory, enum rosidl_runtime_c__message_initialization _init) +{ + // TODO(karsten1987): initializers are not yet implemented for typesupport c + // see https://github.com/ros2/ros2/issues/397 + (void) _init; + bcr_bot__srv__GetVisualTopics_Request__init(message_memory); +} + +void bcr_bot__srv__GetVisualTopics_Request__rosidl_typesupport_introspection_c__GetVisualTopics_Request_fini_function(void * message_memory) +{ + bcr_bot__srv__GetVisualTopics_Request__fini(message_memory); +} + +static rosidl_typesupport_introspection_c__MessageMember bcr_bot__srv__GetVisualTopics_Request__rosidl_typesupport_introspection_c__GetVisualTopics_Request_message_member_array[1] = { + { + "refresh", // name + rosidl_typesupport_introspection_c__ROS_TYPE_BOOLEAN, // type + 0, // upper bound of string + NULL, // members of sub message + false, // is array + 0, // array size + false, // is upper bound + offsetof(bcr_bot__srv__GetVisualTopics_Request, refresh), // bytes offset in struct + NULL, // default value + NULL, // size() function pointer + NULL, // get_const(index) function pointer + NULL, // get(index) function pointer + NULL, // fetch(index, &value) function pointer + NULL, // assign(index, value) function pointer + NULL // resize(index) function pointer + } +}; + +static const rosidl_typesupport_introspection_c__MessageMembers bcr_bot__srv__GetVisualTopics_Request__rosidl_typesupport_introspection_c__GetVisualTopics_Request_message_members = { + "bcr_bot__srv", // message namespace + "GetVisualTopics_Request", // message name + 1, // number of fields + sizeof(bcr_bot__srv__GetVisualTopics_Request), + bcr_bot__srv__GetVisualTopics_Request__rosidl_typesupport_introspection_c__GetVisualTopics_Request_message_member_array, // message members + bcr_bot__srv__GetVisualTopics_Request__rosidl_typesupport_introspection_c__GetVisualTopics_Request_init_function, // function to initialize message memory (memory has to be allocated) + bcr_bot__srv__GetVisualTopics_Request__rosidl_typesupport_introspection_c__GetVisualTopics_Request_fini_function // function to terminate message instance (will not free memory) +}; + +// this is not const since it must be initialized on first access +// since C does not allow non-integral compile-time constants +static rosidl_message_type_support_t bcr_bot__srv__GetVisualTopics_Request__rosidl_typesupport_introspection_c__GetVisualTopics_Request_message_type_support_handle = { + 0, + &bcr_bot__srv__GetVisualTopics_Request__rosidl_typesupport_introspection_c__GetVisualTopics_Request_message_members, + get_message_typesupport_handle_function, +}; + +ROSIDL_TYPESUPPORT_INTROSPECTION_C_EXPORT_bcr_bot +const rosidl_message_type_support_t * +ROSIDL_TYPESUPPORT_INTERFACE__MESSAGE_SYMBOL_NAME(rosidl_typesupport_introspection_c, bcr_bot, srv, GetVisualTopics_Request)() { + if (!bcr_bot__srv__GetVisualTopics_Request__rosidl_typesupport_introspection_c__GetVisualTopics_Request_message_type_support_handle.typesupport_identifier) { + bcr_bot__srv__GetVisualTopics_Request__rosidl_typesupport_introspection_c__GetVisualTopics_Request_message_type_support_handle.typesupport_identifier = + rosidl_typesupport_introspection_c__identifier; + } + return &bcr_bot__srv__GetVisualTopics_Request__rosidl_typesupport_introspection_c__GetVisualTopics_Request_message_type_support_handle; +} +#ifdef __cplusplus +} +#endif + +// already included above +// #include +// already included above +// #include "bcr_bot/srv/detail/get_visual_topics__rosidl_typesupport_introspection_c.h" +// already included above +// #include "bcr_bot/msg/rosidl_typesupport_introspection_c__visibility_control.h" +// already included above +// #include "rosidl_typesupport_introspection_c/field_types.h" +// already included above +// #include "rosidl_typesupport_introspection_c/identifier.h" +// already included above +// #include "rosidl_typesupport_introspection_c/message_introspection.h" +// already included above +// #include "bcr_bot/srv/detail/get_visual_topics__functions.h" +// already included above +// #include "bcr_bot/srv/detail/get_visual_topics__struct.h" + + +// Include directives for member types +// Member `depth_image_topics` +// Member `rgb_image_topics` +// Member `camera_info_topics` +// Member `point_cloud_topics` +#include "rosidl_runtime_c/string_functions.h" + +#ifdef __cplusplus +extern "C" +{ +#endif + +void bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__GetVisualTopics_Response_init_function( + void * message_memory, enum rosidl_runtime_c__message_initialization _init) +{ + // TODO(karsten1987): initializers are not yet implemented for typesupport c + // see https://github.com/ros2/ros2/issues/397 + (void) _init; + bcr_bot__srv__GetVisualTopics_Response__init(message_memory); +} + +void bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__GetVisualTopics_Response_fini_function(void * message_memory) +{ + bcr_bot__srv__GetVisualTopics_Response__fini(message_memory); +} + +size_t bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__size_function__GetVisualTopics_Response__depth_image_topics( + const void * untyped_member) +{ + const rosidl_runtime_c__String__Sequence * member = + (const rosidl_runtime_c__String__Sequence *)(untyped_member); + return member->size; +} + +const void * bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__get_const_function__GetVisualTopics_Response__depth_image_topics( + const void * untyped_member, size_t index) +{ + const rosidl_runtime_c__String__Sequence * member = + (const rosidl_runtime_c__String__Sequence *)(untyped_member); + return &member->data[index]; +} + +void * bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__get_function__GetVisualTopics_Response__depth_image_topics( + void * untyped_member, size_t index) +{ + rosidl_runtime_c__String__Sequence * member = + (rosidl_runtime_c__String__Sequence *)(untyped_member); + return &member->data[index]; +} + +void bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__fetch_function__GetVisualTopics_Response__depth_image_topics( + const void * untyped_member, size_t index, void * untyped_value) +{ + const rosidl_runtime_c__String * item = + ((const rosidl_runtime_c__String *) + bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__get_const_function__GetVisualTopics_Response__depth_image_topics(untyped_member, index)); + rosidl_runtime_c__String * value = + (rosidl_runtime_c__String *)(untyped_value); + *value = *item; +} + +void bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__assign_function__GetVisualTopics_Response__depth_image_topics( + void * untyped_member, size_t index, const void * untyped_value) +{ + rosidl_runtime_c__String * item = + ((rosidl_runtime_c__String *) + bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__get_function__GetVisualTopics_Response__depth_image_topics(untyped_member, index)); + const rosidl_runtime_c__String * value = + (const rosidl_runtime_c__String *)(untyped_value); + *item = *value; +} + +bool bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__resize_function__GetVisualTopics_Response__depth_image_topics( + void * untyped_member, size_t size) +{ + rosidl_runtime_c__String__Sequence * member = + (rosidl_runtime_c__String__Sequence *)(untyped_member); + rosidl_runtime_c__String__Sequence__fini(member); + return rosidl_runtime_c__String__Sequence__init(member, size); +} + +size_t bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__size_function__GetVisualTopics_Response__rgb_image_topics( + const void * untyped_member) +{ + const rosidl_runtime_c__String__Sequence * member = + (const rosidl_runtime_c__String__Sequence *)(untyped_member); + return member->size; +} + +const void * bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__get_const_function__GetVisualTopics_Response__rgb_image_topics( + const void * untyped_member, size_t index) +{ + const rosidl_runtime_c__String__Sequence * member = + (const rosidl_runtime_c__String__Sequence *)(untyped_member); + return &member->data[index]; +} + +void * bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__get_function__GetVisualTopics_Response__rgb_image_topics( + void * untyped_member, size_t index) +{ + rosidl_runtime_c__String__Sequence * member = + (rosidl_runtime_c__String__Sequence *)(untyped_member); + return &member->data[index]; +} + +void bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__fetch_function__GetVisualTopics_Response__rgb_image_topics( + const void * untyped_member, size_t index, void * untyped_value) +{ + const rosidl_runtime_c__String * item = + ((const rosidl_runtime_c__String *) + bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__get_const_function__GetVisualTopics_Response__rgb_image_topics(untyped_member, index)); + rosidl_runtime_c__String * value = + (rosidl_runtime_c__String *)(untyped_value); + *value = *item; +} + +void bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__assign_function__GetVisualTopics_Response__rgb_image_topics( + void * untyped_member, size_t index, const void * untyped_value) +{ + rosidl_runtime_c__String * item = + ((rosidl_runtime_c__String *) + bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__get_function__GetVisualTopics_Response__rgb_image_topics(untyped_member, index)); + const rosidl_runtime_c__String * value = + (const rosidl_runtime_c__String *)(untyped_value); + *item = *value; +} + +bool bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__resize_function__GetVisualTopics_Response__rgb_image_topics( + void * untyped_member, size_t size) +{ + rosidl_runtime_c__String__Sequence * member = + (rosidl_runtime_c__String__Sequence *)(untyped_member); + rosidl_runtime_c__String__Sequence__fini(member); + return rosidl_runtime_c__String__Sequence__init(member, size); +} + +size_t bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__size_function__GetVisualTopics_Response__camera_info_topics( + const void * untyped_member) +{ + const rosidl_runtime_c__String__Sequence * member = + (const rosidl_runtime_c__String__Sequence *)(untyped_member); + return member->size; +} + +const void * bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__get_const_function__GetVisualTopics_Response__camera_info_topics( + const void * untyped_member, size_t index) +{ + const rosidl_runtime_c__String__Sequence * member = + (const rosidl_runtime_c__String__Sequence *)(untyped_member); + return &member->data[index]; +} + +void * bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__get_function__GetVisualTopics_Response__camera_info_topics( + void * untyped_member, size_t index) +{ + rosidl_runtime_c__String__Sequence * member = + (rosidl_runtime_c__String__Sequence *)(untyped_member); + return &member->data[index]; +} + +void bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__fetch_function__GetVisualTopics_Response__camera_info_topics( + const void * untyped_member, size_t index, void * untyped_value) +{ + const rosidl_runtime_c__String * item = + ((const rosidl_runtime_c__String *) + bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__get_const_function__GetVisualTopics_Response__camera_info_topics(untyped_member, index)); + rosidl_runtime_c__String * value = + (rosidl_runtime_c__String *)(untyped_value); + *value = *item; +} + +void bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__assign_function__GetVisualTopics_Response__camera_info_topics( + void * untyped_member, size_t index, const void * untyped_value) +{ + rosidl_runtime_c__String * item = + ((rosidl_runtime_c__String *) + bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__get_function__GetVisualTopics_Response__camera_info_topics(untyped_member, index)); + const rosidl_runtime_c__String * value = + (const rosidl_runtime_c__String *)(untyped_value); + *item = *value; +} + +bool bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__resize_function__GetVisualTopics_Response__camera_info_topics( + void * untyped_member, size_t size) +{ + rosidl_runtime_c__String__Sequence * member = + (rosidl_runtime_c__String__Sequence *)(untyped_member); + rosidl_runtime_c__String__Sequence__fini(member); + return rosidl_runtime_c__String__Sequence__init(member, size); +} + +size_t bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__size_function__GetVisualTopics_Response__point_cloud_topics( + const void * untyped_member) +{ + const rosidl_runtime_c__String__Sequence * member = + (const rosidl_runtime_c__String__Sequence *)(untyped_member); + return member->size; +} + +const void * bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__get_const_function__GetVisualTopics_Response__point_cloud_topics( + const void * untyped_member, size_t index) +{ + const rosidl_runtime_c__String__Sequence * member = + (const rosidl_runtime_c__String__Sequence *)(untyped_member); + return &member->data[index]; +} + +void * bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__get_function__GetVisualTopics_Response__point_cloud_topics( + void * untyped_member, size_t index) +{ + rosidl_runtime_c__String__Sequence * member = + (rosidl_runtime_c__String__Sequence *)(untyped_member); + return &member->data[index]; +} + +void bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__fetch_function__GetVisualTopics_Response__point_cloud_topics( + const void * untyped_member, size_t index, void * untyped_value) +{ + const rosidl_runtime_c__String * item = + ((const rosidl_runtime_c__String *) + bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__get_const_function__GetVisualTopics_Response__point_cloud_topics(untyped_member, index)); + rosidl_runtime_c__String * value = + (rosidl_runtime_c__String *)(untyped_value); + *value = *item; +} + +void bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__assign_function__GetVisualTopics_Response__point_cloud_topics( + void * untyped_member, size_t index, const void * untyped_value) +{ + rosidl_runtime_c__String * item = + ((rosidl_runtime_c__String *) + bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__get_function__GetVisualTopics_Response__point_cloud_topics(untyped_member, index)); + const rosidl_runtime_c__String * value = + (const rosidl_runtime_c__String *)(untyped_value); + *item = *value; +} + +bool bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__resize_function__GetVisualTopics_Response__point_cloud_topics( + void * untyped_member, size_t size) +{ + rosidl_runtime_c__String__Sequence * member = + (rosidl_runtime_c__String__Sequence *)(untyped_member); + rosidl_runtime_c__String__Sequence__fini(member); + return rosidl_runtime_c__String__Sequence__init(member, size); +} + +static rosidl_typesupport_introspection_c__MessageMember bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__GetVisualTopics_Response_message_member_array[4] = { + { + "depth_image_topics", // name + rosidl_typesupport_introspection_c__ROS_TYPE_STRING, // type + 0, // upper bound of string + NULL, // members of sub message + true, // is array + 0, // array size + false, // is upper bound + offsetof(bcr_bot__srv__GetVisualTopics_Response, depth_image_topics), // bytes offset in struct + NULL, // default value + bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__size_function__GetVisualTopics_Response__depth_image_topics, // size() function pointer + bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__get_const_function__GetVisualTopics_Response__depth_image_topics, // get_const(index) function pointer + bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__get_function__GetVisualTopics_Response__depth_image_topics, // get(index) function pointer + bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__fetch_function__GetVisualTopics_Response__depth_image_topics, // fetch(index, &value) function pointer + bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__assign_function__GetVisualTopics_Response__depth_image_topics, // assign(index, value) function pointer + bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__resize_function__GetVisualTopics_Response__depth_image_topics // resize(index) function pointer + }, + { + "rgb_image_topics", // name + rosidl_typesupport_introspection_c__ROS_TYPE_STRING, // type + 0, // upper bound of string + NULL, // members of sub message + true, // is array + 0, // array size + false, // is upper bound + offsetof(bcr_bot__srv__GetVisualTopics_Response, rgb_image_topics), // bytes offset in struct + NULL, // default value + bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__size_function__GetVisualTopics_Response__rgb_image_topics, // size() function pointer + bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__get_const_function__GetVisualTopics_Response__rgb_image_topics, // get_const(index) function pointer + bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__get_function__GetVisualTopics_Response__rgb_image_topics, // get(index) function pointer + bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__fetch_function__GetVisualTopics_Response__rgb_image_topics, // fetch(index, &value) function pointer + bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__assign_function__GetVisualTopics_Response__rgb_image_topics, // assign(index, value) function pointer + bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__resize_function__GetVisualTopics_Response__rgb_image_topics // resize(index) function pointer + }, + { + "camera_info_topics", // name + rosidl_typesupport_introspection_c__ROS_TYPE_STRING, // type + 0, // upper bound of string + NULL, // members of sub message + true, // is array + 0, // array size + false, // is upper bound + offsetof(bcr_bot__srv__GetVisualTopics_Response, camera_info_topics), // bytes offset in struct + NULL, // default value + bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__size_function__GetVisualTopics_Response__camera_info_topics, // size() function pointer + bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__get_const_function__GetVisualTopics_Response__camera_info_topics, // get_const(index) function pointer + bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__get_function__GetVisualTopics_Response__camera_info_topics, // get(index) function pointer + bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__fetch_function__GetVisualTopics_Response__camera_info_topics, // fetch(index, &value) function pointer + bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__assign_function__GetVisualTopics_Response__camera_info_topics, // assign(index, value) function pointer + bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__resize_function__GetVisualTopics_Response__camera_info_topics // resize(index) function pointer + }, + { + "point_cloud_topics", // name + rosidl_typesupport_introspection_c__ROS_TYPE_STRING, // type + 0, // upper bound of string + NULL, // members of sub message + true, // is array + 0, // array size + false, // is upper bound + offsetof(bcr_bot__srv__GetVisualTopics_Response, point_cloud_topics), // bytes offset in struct + NULL, // default value + bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__size_function__GetVisualTopics_Response__point_cloud_topics, // size() function pointer + bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__get_const_function__GetVisualTopics_Response__point_cloud_topics, // get_const(index) function pointer + bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__get_function__GetVisualTopics_Response__point_cloud_topics, // get(index) function pointer + bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__fetch_function__GetVisualTopics_Response__point_cloud_topics, // fetch(index, &value) function pointer + bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__assign_function__GetVisualTopics_Response__point_cloud_topics, // assign(index, value) function pointer + bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__resize_function__GetVisualTopics_Response__point_cloud_topics // resize(index) function pointer + } +}; + +static const rosidl_typesupport_introspection_c__MessageMembers bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__GetVisualTopics_Response_message_members = { + "bcr_bot__srv", // message namespace + "GetVisualTopics_Response", // message name + 4, // number of fields + sizeof(bcr_bot__srv__GetVisualTopics_Response), + bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__GetVisualTopics_Response_message_member_array, // message members + bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__GetVisualTopics_Response_init_function, // function to initialize message memory (memory has to be allocated) + bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__GetVisualTopics_Response_fini_function // function to terminate message instance (will not free memory) +}; + +// this is not const since it must be initialized on first access +// since C does not allow non-integral compile-time constants +static rosidl_message_type_support_t bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__GetVisualTopics_Response_message_type_support_handle = { + 0, + &bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__GetVisualTopics_Response_message_members, + get_message_typesupport_handle_function, +}; + +ROSIDL_TYPESUPPORT_INTROSPECTION_C_EXPORT_bcr_bot +const rosidl_message_type_support_t * +ROSIDL_TYPESUPPORT_INTERFACE__MESSAGE_SYMBOL_NAME(rosidl_typesupport_introspection_c, bcr_bot, srv, GetVisualTopics_Response)() { + if (!bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__GetVisualTopics_Response_message_type_support_handle.typesupport_identifier) { + bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__GetVisualTopics_Response_message_type_support_handle.typesupport_identifier = + rosidl_typesupport_introspection_c__identifier; + } + return &bcr_bot__srv__GetVisualTopics_Response__rosidl_typesupport_introspection_c__GetVisualTopics_Response_message_type_support_handle; +} +#ifdef __cplusplus +} +#endif + +#include "rosidl_runtime_c/service_type_support_struct.h" +// already included above +// #include "bcr_bot/msg/rosidl_typesupport_introspection_c__visibility_control.h" +// already included above +// #include "bcr_bot/srv/detail/get_visual_topics__rosidl_typesupport_introspection_c.h" +// already included above +// #include "rosidl_typesupport_introspection_c/identifier.h" +#include "rosidl_typesupport_introspection_c/service_introspection.h" + +// this is intentionally not const to allow initialization later to prevent an initialization race +static rosidl_typesupport_introspection_c__ServiceMembers bcr_bot__srv__detail__get_visual_topics__rosidl_typesupport_introspection_c__GetVisualTopics_service_members = { + "bcr_bot__srv", // service namespace + "GetVisualTopics", // service name + // these two fields are initialized below on the first access + NULL, // request message + // bcr_bot__srv__detail__get_visual_topics__rosidl_typesupport_introspection_c__GetVisualTopics_Request_message_type_support_handle, + NULL // response message + // bcr_bot__srv__detail__get_visual_topics__rosidl_typesupport_introspection_c__GetVisualTopics_Response_message_type_support_handle +}; + +static rosidl_service_type_support_t bcr_bot__srv__detail__get_visual_topics__rosidl_typesupport_introspection_c__GetVisualTopics_service_type_support_handle = { + 0, + &bcr_bot__srv__detail__get_visual_topics__rosidl_typesupport_introspection_c__GetVisualTopics_service_members, + get_service_typesupport_handle_function, +}; + +// Forward declaration of request/response type support functions +const rosidl_message_type_support_t * +ROSIDL_TYPESUPPORT_INTERFACE__MESSAGE_SYMBOL_NAME(rosidl_typesupport_introspection_c, bcr_bot, srv, GetVisualTopics_Request)(); + +const rosidl_message_type_support_t * +ROSIDL_TYPESUPPORT_INTERFACE__MESSAGE_SYMBOL_NAME(rosidl_typesupport_introspection_c, bcr_bot, srv, GetVisualTopics_Response)(); + +ROSIDL_TYPESUPPORT_INTROSPECTION_C_EXPORT_bcr_bot +const rosidl_service_type_support_t * +ROSIDL_TYPESUPPORT_INTERFACE__SERVICE_SYMBOL_NAME(rosidl_typesupport_introspection_c, bcr_bot, srv, GetVisualTopics)() { + if (!bcr_bot__srv__detail__get_visual_topics__rosidl_typesupport_introspection_c__GetVisualTopics_service_type_support_handle.typesupport_identifier) { + bcr_bot__srv__detail__get_visual_topics__rosidl_typesupport_introspection_c__GetVisualTopics_service_type_support_handle.typesupport_identifier = + rosidl_typesupport_introspection_c__identifier; + } + rosidl_typesupport_introspection_c__ServiceMembers * service_members = + (rosidl_typesupport_introspection_c__ServiceMembers *)bcr_bot__srv__detail__get_visual_topics__rosidl_typesupport_introspection_c__GetVisualTopics_service_type_support_handle.data; + + if (!service_members->request_members_) { + service_members->request_members_ = + (const rosidl_typesupport_introspection_c__MessageMembers *) + ROSIDL_TYPESUPPORT_INTERFACE__MESSAGE_SYMBOL_NAME(rosidl_typesupport_introspection_c, bcr_bot, srv, GetVisualTopics_Request)()->data; + } + if (!service_members->response_members_) { + service_members->response_members_ = + (const rosidl_typesupport_introspection_c__MessageMembers *) + ROSIDL_TYPESUPPORT_INTERFACE__MESSAGE_SYMBOL_NAME(rosidl_typesupport_introspection_c, bcr_bot, srv, GetVisualTopics_Response)()->data; + } + + return &bcr_bot__srv__detail__get_visual_topics__rosidl_typesupport_introspection_c__GetVisualTopics_service_type_support_handle; +} diff --git a/install/bcr_bot/include/bcr_bot/bcr_bot/srv/detail/get_visual_topics__type_support.cpp b/install/bcr_bot/include/bcr_bot/bcr_bot/srv/detail/get_visual_topics__type_support.cpp new file mode 100644 index 0000000..ad844d9 --- /dev/null +++ b/install/bcr_bot/include/bcr_bot/bcr_bot/srv/detail/get_visual_topics__type_support.cpp @@ -0,0 +1,567 @@ +// generated from rosidl_typesupport_introspection_cpp/resource/idl__type_support.cpp.em +// with input from bcr_bot:srv/GetVisualTopics.idl +// generated code does not contain a copyright notice + +#include "array" +#include "cstddef" +#include "string" +#include "vector" +#include "rosidl_runtime_c/message_type_support_struct.h" +#include "rosidl_typesupport_cpp/message_type_support.hpp" +#include "rosidl_typesupport_interface/macros.h" +#include "bcr_bot/srv/detail/get_visual_topics__struct.hpp" +#include "rosidl_typesupport_introspection_cpp/field_types.hpp" +#include "rosidl_typesupport_introspection_cpp/identifier.hpp" +#include "rosidl_typesupport_introspection_cpp/message_introspection.hpp" +#include "rosidl_typesupport_introspection_cpp/message_type_support_decl.hpp" +#include "rosidl_typesupport_introspection_cpp/visibility_control.h" + +namespace bcr_bot +{ + +namespace srv +{ + +namespace rosidl_typesupport_introspection_cpp +{ + +void GetVisualTopics_Request_init_function( + void * message_memory, rosidl_runtime_cpp::MessageInitialization _init) +{ + new (message_memory) bcr_bot::srv::GetVisualTopics_Request(_init); +} + +void GetVisualTopics_Request_fini_function(void * message_memory) +{ + auto typed_message = static_cast(message_memory); + typed_message->~GetVisualTopics_Request(); +} + +static const ::rosidl_typesupport_introspection_cpp::MessageMember GetVisualTopics_Request_message_member_array[1] = { + { + "refresh", // name + ::rosidl_typesupport_introspection_cpp::ROS_TYPE_BOOLEAN, // type + 0, // upper bound of string + nullptr, // members of sub message + false, // is array + 0, // array size + false, // is upper bound + offsetof(bcr_bot::srv::GetVisualTopics_Request, refresh), // bytes offset in struct + nullptr, // default value + nullptr, // size() function pointer + nullptr, // get_const(index) function pointer + nullptr, // get(index) function pointer + nullptr, // fetch(index, &value) function pointer + nullptr, // assign(index, value) function pointer + nullptr // resize(index) function pointer + } +}; + +static const ::rosidl_typesupport_introspection_cpp::MessageMembers GetVisualTopics_Request_message_members = { + "bcr_bot::srv", // message namespace + "GetVisualTopics_Request", // message name + 1, // number of fields + sizeof(bcr_bot::srv::GetVisualTopics_Request), + GetVisualTopics_Request_message_member_array, // message members + GetVisualTopics_Request_init_function, // function to initialize message memory (memory has to be allocated) + GetVisualTopics_Request_fini_function // function to terminate message instance (will not free memory) +}; + +static const rosidl_message_type_support_t GetVisualTopics_Request_message_type_support_handle = { + ::rosidl_typesupport_introspection_cpp::typesupport_identifier, + &GetVisualTopics_Request_message_members, + get_message_typesupport_handle_function, +}; + +} // namespace rosidl_typesupport_introspection_cpp + +} // namespace srv + +} // namespace bcr_bot + + +namespace rosidl_typesupport_introspection_cpp +{ + +template<> +ROSIDL_TYPESUPPORT_INTROSPECTION_CPP_PUBLIC +const rosidl_message_type_support_t * +get_message_type_support_handle() +{ + return &::bcr_bot::srv::rosidl_typesupport_introspection_cpp::GetVisualTopics_Request_message_type_support_handle; +} + +} // namespace rosidl_typesupport_introspection_cpp + +#ifdef __cplusplus +extern "C" +{ +#endif + +ROSIDL_TYPESUPPORT_INTROSPECTION_CPP_PUBLIC +const rosidl_message_type_support_t * +ROSIDL_TYPESUPPORT_INTERFACE__MESSAGE_SYMBOL_NAME(rosidl_typesupport_introspection_cpp, bcr_bot, srv, GetVisualTopics_Request)() { + return &::bcr_bot::srv::rosidl_typesupport_introspection_cpp::GetVisualTopics_Request_message_type_support_handle; +} + +#ifdef __cplusplus +} +#endif + +// already included above +// #include "array" +// already included above +// #include "cstddef" +// already included above +// #include "string" +// already included above +// #include "vector" +// already included above +// #include "rosidl_runtime_c/message_type_support_struct.h" +// already included above +// #include "rosidl_typesupport_cpp/message_type_support.hpp" +// already included above +// #include "rosidl_typesupport_interface/macros.h" +// already included above +// #include "bcr_bot/srv/detail/get_visual_topics__struct.hpp" +// already included above +// #include "rosidl_typesupport_introspection_cpp/field_types.hpp" +// already included above +// #include "rosidl_typesupport_introspection_cpp/identifier.hpp" +// already included above +// #include "rosidl_typesupport_introspection_cpp/message_introspection.hpp" +// already included above +// #include "rosidl_typesupport_introspection_cpp/message_type_support_decl.hpp" +// already included above +// #include "rosidl_typesupport_introspection_cpp/visibility_control.h" + +namespace bcr_bot +{ + +namespace srv +{ + +namespace rosidl_typesupport_introspection_cpp +{ + +void GetVisualTopics_Response_init_function( + void * message_memory, rosidl_runtime_cpp::MessageInitialization _init) +{ + new (message_memory) bcr_bot::srv::GetVisualTopics_Response(_init); +} + +void GetVisualTopics_Response_fini_function(void * message_memory) +{ + auto typed_message = static_cast(message_memory); + typed_message->~GetVisualTopics_Response(); +} + +size_t size_function__GetVisualTopics_Response__depth_image_topics(const void * untyped_member) +{ + const auto * member = reinterpret_cast *>(untyped_member); + return member->size(); +} + +const void * get_const_function__GetVisualTopics_Response__depth_image_topics(const void * untyped_member, size_t index) +{ + const auto & member = + *reinterpret_cast *>(untyped_member); + return &member[index]; +} + +void * get_function__GetVisualTopics_Response__depth_image_topics(void * untyped_member, size_t index) +{ + auto & member = + *reinterpret_cast *>(untyped_member); + return &member[index]; +} + +void fetch_function__GetVisualTopics_Response__depth_image_topics( + const void * untyped_member, size_t index, void * untyped_value) +{ + const auto & item = *reinterpret_cast( + get_const_function__GetVisualTopics_Response__depth_image_topics(untyped_member, index)); + auto & value = *reinterpret_cast(untyped_value); + value = item; +} + +void assign_function__GetVisualTopics_Response__depth_image_topics( + void * untyped_member, size_t index, const void * untyped_value) +{ + auto & item = *reinterpret_cast( + get_function__GetVisualTopics_Response__depth_image_topics(untyped_member, index)); + const auto & value = *reinterpret_cast(untyped_value); + item = value; +} + +void resize_function__GetVisualTopics_Response__depth_image_topics(void * untyped_member, size_t size) +{ + auto * member = + reinterpret_cast *>(untyped_member); + member->resize(size); +} + +size_t size_function__GetVisualTopics_Response__rgb_image_topics(const void * untyped_member) +{ + const auto * member = reinterpret_cast *>(untyped_member); + return member->size(); +} + +const void * get_const_function__GetVisualTopics_Response__rgb_image_topics(const void * untyped_member, size_t index) +{ + const auto & member = + *reinterpret_cast *>(untyped_member); + return &member[index]; +} + +void * get_function__GetVisualTopics_Response__rgb_image_topics(void * untyped_member, size_t index) +{ + auto & member = + *reinterpret_cast *>(untyped_member); + return &member[index]; +} + +void fetch_function__GetVisualTopics_Response__rgb_image_topics( + const void * untyped_member, size_t index, void * untyped_value) +{ + const auto & item = *reinterpret_cast( + get_const_function__GetVisualTopics_Response__rgb_image_topics(untyped_member, index)); + auto & value = *reinterpret_cast(untyped_value); + value = item; +} + +void assign_function__GetVisualTopics_Response__rgb_image_topics( + void * untyped_member, size_t index, const void * untyped_value) +{ + auto & item = *reinterpret_cast( + get_function__GetVisualTopics_Response__rgb_image_topics(untyped_member, index)); + const auto & value = *reinterpret_cast(untyped_value); + item = value; +} + +void resize_function__GetVisualTopics_Response__rgb_image_topics(void * untyped_member, size_t size) +{ + auto * member = + reinterpret_cast *>(untyped_member); + member->resize(size); +} + +size_t size_function__GetVisualTopics_Response__camera_info_topics(const void * untyped_member) +{ + const auto * member = reinterpret_cast *>(untyped_member); + return member->size(); +} + +const void * get_const_function__GetVisualTopics_Response__camera_info_topics(const void * untyped_member, size_t index) +{ + const auto & member = + *reinterpret_cast *>(untyped_member); + return &member[index]; +} + +void * get_function__GetVisualTopics_Response__camera_info_topics(void * untyped_member, size_t index) +{ + auto & member = + *reinterpret_cast *>(untyped_member); + return &member[index]; +} + +void fetch_function__GetVisualTopics_Response__camera_info_topics( + const void * untyped_member, size_t index, void * untyped_value) +{ + const auto & item = *reinterpret_cast( + get_const_function__GetVisualTopics_Response__camera_info_topics(untyped_member, index)); + auto & value = *reinterpret_cast(untyped_value); + value = item; +} + +void assign_function__GetVisualTopics_Response__camera_info_topics( + void * untyped_member, size_t index, const void * untyped_value) +{ + auto & item = *reinterpret_cast( + get_function__GetVisualTopics_Response__camera_info_topics(untyped_member, index)); + const auto & value = *reinterpret_cast(untyped_value); + item = value; +} + +void resize_function__GetVisualTopics_Response__camera_info_topics(void * untyped_member, size_t size) +{ + auto * member = + reinterpret_cast *>(untyped_member); + member->resize(size); +} + +size_t size_function__GetVisualTopics_Response__point_cloud_topics(const void * untyped_member) +{ + const auto * member = reinterpret_cast *>(untyped_member); + return member->size(); +} + +const void * get_const_function__GetVisualTopics_Response__point_cloud_topics(const void * untyped_member, size_t index) +{ + const auto & member = + *reinterpret_cast *>(untyped_member); + return &member[index]; +} + +void * get_function__GetVisualTopics_Response__point_cloud_topics(void * untyped_member, size_t index) +{ + auto & member = + *reinterpret_cast *>(untyped_member); + return &member[index]; +} + +void fetch_function__GetVisualTopics_Response__point_cloud_topics( + const void * untyped_member, size_t index, void * untyped_value) +{ + const auto & item = *reinterpret_cast( + get_const_function__GetVisualTopics_Response__point_cloud_topics(untyped_member, index)); + auto & value = *reinterpret_cast(untyped_value); + value = item; +} + +void assign_function__GetVisualTopics_Response__point_cloud_topics( + void * untyped_member, size_t index, const void * untyped_value) +{ + auto & item = *reinterpret_cast( + get_function__GetVisualTopics_Response__point_cloud_topics(untyped_member, index)); + const auto & value = *reinterpret_cast(untyped_value); + item = value; +} + +void resize_function__GetVisualTopics_Response__point_cloud_topics(void * untyped_member, size_t size) +{ + auto * member = + reinterpret_cast *>(untyped_member); + member->resize(size); +} + +static const ::rosidl_typesupport_introspection_cpp::MessageMember GetVisualTopics_Response_message_member_array[4] = { + { + "depth_image_topics", // name + ::rosidl_typesupport_introspection_cpp::ROS_TYPE_STRING, // type + 0, // upper bound of string + nullptr, // members of sub message + true, // is array + 0, // array size + false, // is upper bound + offsetof(bcr_bot::srv::GetVisualTopics_Response, depth_image_topics), // bytes offset in struct + nullptr, // default value + size_function__GetVisualTopics_Response__depth_image_topics, // size() function pointer + get_const_function__GetVisualTopics_Response__depth_image_topics, // get_const(index) function pointer + get_function__GetVisualTopics_Response__depth_image_topics, // get(index) function pointer + fetch_function__GetVisualTopics_Response__depth_image_topics, // fetch(index, &value) function pointer + assign_function__GetVisualTopics_Response__depth_image_topics, // assign(index, value) function pointer + resize_function__GetVisualTopics_Response__depth_image_topics // resize(index) function pointer + }, + { + "rgb_image_topics", // name + ::rosidl_typesupport_introspection_cpp::ROS_TYPE_STRING, // type + 0, // upper bound of string + nullptr, // members of sub message + true, // is array + 0, // array size + false, // is upper bound + offsetof(bcr_bot::srv::GetVisualTopics_Response, rgb_image_topics), // bytes offset in struct + nullptr, // default value + size_function__GetVisualTopics_Response__rgb_image_topics, // size() function pointer + get_const_function__GetVisualTopics_Response__rgb_image_topics, // get_const(index) function pointer + get_function__GetVisualTopics_Response__rgb_image_topics, // get(index) function pointer + fetch_function__GetVisualTopics_Response__rgb_image_topics, // fetch(index, &value) function pointer + assign_function__GetVisualTopics_Response__rgb_image_topics, // assign(index, value) function pointer + resize_function__GetVisualTopics_Response__rgb_image_topics // resize(index) function pointer + }, + { + "camera_info_topics", // name + ::rosidl_typesupport_introspection_cpp::ROS_TYPE_STRING, // type + 0, // upper bound of string + nullptr, // members of sub message + true, // is array + 0, // array size + false, // is upper bound + offsetof(bcr_bot::srv::GetVisualTopics_Response, camera_info_topics), // bytes offset in struct + nullptr, // default value + size_function__GetVisualTopics_Response__camera_info_topics, // size() function pointer + get_const_function__GetVisualTopics_Response__camera_info_topics, // get_const(index) function pointer + get_function__GetVisualTopics_Response__camera_info_topics, // get(index) function pointer + fetch_function__GetVisualTopics_Response__camera_info_topics, // fetch(index, &value) function pointer + assign_function__GetVisualTopics_Response__camera_info_topics, // assign(index, value) function pointer + resize_function__GetVisualTopics_Response__camera_info_topics // resize(index) function pointer + }, + { + "point_cloud_topics", // name + ::rosidl_typesupport_introspection_cpp::ROS_TYPE_STRING, // type + 0, // upper bound of string + nullptr, // members of sub message + true, // is array + 0, // array size + false, // is upper bound + offsetof(bcr_bot::srv::GetVisualTopics_Response, point_cloud_topics), // bytes offset in struct + nullptr, // default value + size_function__GetVisualTopics_Response__point_cloud_topics, // size() function pointer + get_const_function__GetVisualTopics_Response__point_cloud_topics, // get_const(index) function pointer + get_function__GetVisualTopics_Response__point_cloud_topics, // get(index) function pointer + fetch_function__GetVisualTopics_Response__point_cloud_topics, // fetch(index, &value) function pointer + assign_function__GetVisualTopics_Response__point_cloud_topics, // assign(index, value) function pointer + resize_function__GetVisualTopics_Response__point_cloud_topics // resize(index) function pointer + } +}; + +static const ::rosidl_typesupport_introspection_cpp::MessageMembers GetVisualTopics_Response_message_members = { + "bcr_bot::srv", // message namespace + "GetVisualTopics_Response", // message name + 4, // number of fields + sizeof(bcr_bot::srv::GetVisualTopics_Response), + GetVisualTopics_Response_message_member_array, // message members + GetVisualTopics_Response_init_function, // function to initialize message memory (memory has to be allocated) + GetVisualTopics_Response_fini_function // function to terminate message instance (will not free memory) +}; + +static const rosidl_message_type_support_t GetVisualTopics_Response_message_type_support_handle = { + ::rosidl_typesupport_introspection_cpp::typesupport_identifier, + &GetVisualTopics_Response_message_members, + get_message_typesupport_handle_function, +}; + +} // namespace rosidl_typesupport_introspection_cpp + +} // namespace srv + +} // namespace bcr_bot + + +namespace rosidl_typesupport_introspection_cpp +{ + +template<> +ROSIDL_TYPESUPPORT_INTROSPECTION_CPP_PUBLIC +const rosidl_message_type_support_t * +get_message_type_support_handle() +{ + return &::bcr_bot::srv::rosidl_typesupport_introspection_cpp::GetVisualTopics_Response_message_type_support_handle; +} + +} // namespace rosidl_typesupport_introspection_cpp + +#ifdef __cplusplus +extern "C" +{ +#endif + +ROSIDL_TYPESUPPORT_INTROSPECTION_CPP_PUBLIC +const rosidl_message_type_support_t * +ROSIDL_TYPESUPPORT_INTERFACE__MESSAGE_SYMBOL_NAME(rosidl_typesupport_introspection_cpp, bcr_bot, srv, GetVisualTopics_Response)() { + return &::bcr_bot::srv::rosidl_typesupport_introspection_cpp::GetVisualTopics_Response_message_type_support_handle; +} + +#ifdef __cplusplus +} +#endif + +#include "rosidl_runtime_c/service_type_support_struct.h" +// already included above +// #include "rosidl_typesupport_cpp/message_type_support.hpp" +#include "rosidl_typesupport_cpp/service_type_support.hpp" +// already included above +// #include "rosidl_typesupport_interface/macros.h" +// already included above +// #include "rosidl_typesupport_introspection_cpp/visibility_control.h" +// already included above +// #include "bcr_bot/srv/detail/get_visual_topics__struct.hpp" +// already included above +// #include "rosidl_typesupport_introspection_cpp/identifier.hpp" +// already included above +// #include "rosidl_typesupport_introspection_cpp/message_type_support_decl.hpp" +#include "rosidl_typesupport_introspection_cpp/service_introspection.hpp" +#include "rosidl_typesupport_introspection_cpp/service_type_support_decl.hpp" + +namespace bcr_bot +{ + +namespace srv +{ + +namespace rosidl_typesupport_introspection_cpp +{ + +// this is intentionally not const to allow initialization later to prevent an initialization race +static ::rosidl_typesupport_introspection_cpp::ServiceMembers GetVisualTopics_service_members = { + "bcr_bot::srv", // service namespace + "GetVisualTopics", // service name + // these two fields are initialized below on the first access + // see get_service_type_support_handle() + nullptr, // request message + nullptr // response message +}; + +static const rosidl_service_type_support_t GetVisualTopics_service_type_support_handle = { + ::rosidl_typesupport_introspection_cpp::typesupport_identifier, + &GetVisualTopics_service_members, + get_service_typesupport_handle_function, +}; + +} // namespace rosidl_typesupport_introspection_cpp + +} // namespace srv + +} // namespace bcr_bot + + +namespace rosidl_typesupport_introspection_cpp +{ + +template<> +ROSIDL_TYPESUPPORT_INTROSPECTION_CPP_PUBLIC +const rosidl_service_type_support_t * +get_service_type_support_handle() +{ + // get a handle to the value to be returned + auto service_type_support = + &::bcr_bot::srv::rosidl_typesupport_introspection_cpp::GetVisualTopics_service_type_support_handle; + // get a non-const and properly typed version of the data void * + auto service_members = const_cast<::rosidl_typesupport_introspection_cpp::ServiceMembers *>( + static_cast( + service_type_support->data)); + // make sure that both the request_members_ and the response_members_ are initialized + // if they are not, initialize them + if ( + service_members->request_members_ == nullptr || + service_members->response_members_ == nullptr) + { + // initialize the request_members_ with the static function from the external library + service_members->request_members_ = static_cast< + const ::rosidl_typesupport_introspection_cpp::MessageMembers * + >( + ::rosidl_typesupport_introspection_cpp::get_message_type_support_handle< + ::bcr_bot::srv::GetVisualTopics_Request + >()->data + ); + // initialize the response_members_ with the static function from the external library + service_members->response_members_ = static_cast< + const ::rosidl_typesupport_introspection_cpp::MessageMembers * + >( + ::rosidl_typesupport_introspection_cpp::get_message_type_support_handle< + ::bcr_bot::srv::GetVisualTopics_Response + >()->data + ); + } + // finally return the properly initialized service_type_support handle + return service_type_support; +} + +} // namespace rosidl_typesupport_introspection_cpp + +#ifdef __cplusplus +extern "C" +{ +#endif + +ROSIDL_TYPESUPPORT_INTROSPECTION_CPP_PUBLIC +const rosidl_service_type_support_t * +ROSIDL_TYPESUPPORT_INTERFACE__SERVICE_SYMBOL_NAME(rosidl_typesupport_introspection_cpp, bcr_bot, srv, GetVisualTopics)() { + return ::rosidl_typesupport_introspection_cpp::get_service_type_support_handle(); +} + +#ifdef __cplusplus +} +#endif diff --git a/install/bcr_bot/include/bcr_bot/bcr_bot/srv/detail/get_visual_topics__type_support.h b/install/bcr_bot/include/bcr_bot/bcr_bot/srv/detail/get_visual_topics__type_support.h new file mode 100644 index 0000000..0a73a7c --- /dev/null +++ b/install/bcr_bot/include/bcr_bot/bcr_bot/srv/detail/get_visual_topics__type_support.h @@ -0,0 +1,58 @@ +// generated from rosidl_generator_c/resource/idl__type_support.h.em +// with input from bcr_bot:srv/GetVisualTopics.idl +// generated code does not contain a copyright notice + +#ifndef BCR_BOT__SRV__DETAIL__GET_VISUAL_TOPICS__TYPE_SUPPORT_H_ +#define BCR_BOT__SRV__DETAIL__GET_VISUAL_TOPICS__TYPE_SUPPORT_H_ + +#include "rosidl_typesupport_interface/macros.h" + +#include "bcr_bot/msg/rosidl_generator_c__visibility_control.h" + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include "rosidl_runtime_c/message_type_support_struct.h" + +// Forward declare the get type support functions for this type. +ROSIDL_GENERATOR_C_PUBLIC_bcr_bot +const rosidl_message_type_support_t * +ROSIDL_TYPESUPPORT_INTERFACE__MESSAGE_SYMBOL_NAME( + rosidl_typesupport_c, + bcr_bot, + srv, + GetVisualTopics_Request +)(); + +// already included above +// #include "rosidl_runtime_c/message_type_support_struct.h" + +// Forward declare the get type support functions for this type. +ROSIDL_GENERATOR_C_PUBLIC_bcr_bot +const rosidl_message_type_support_t * +ROSIDL_TYPESUPPORT_INTERFACE__MESSAGE_SYMBOL_NAME( + rosidl_typesupport_c, + bcr_bot, + srv, + GetVisualTopics_Response +)(); + +#include "rosidl_runtime_c/service_type_support_struct.h" + +// Forward declare the get type support functions for this type. +ROSIDL_GENERATOR_C_PUBLIC_bcr_bot +const rosidl_service_type_support_t * +ROSIDL_TYPESUPPORT_INTERFACE__SERVICE_SYMBOL_NAME( + rosidl_typesupport_c, + bcr_bot, + srv, + GetVisualTopics +)(); + +#ifdef __cplusplus +} +#endif + +#endif // BCR_BOT__SRV__DETAIL__GET_VISUAL_TOPICS__TYPE_SUPPORT_H_ diff --git a/install/bcr_bot/include/bcr_bot/bcr_bot/srv/detail/get_visual_topics__type_support.hpp b/install/bcr_bot/include/bcr_bot/bcr_bot/srv/detail/get_visual_topics__type_support.hpp new file mode 100644 index 0000000..a0de467 --- /dev/null +++ b/install/bcr_bot/include/bcr_bot/bcr_bot/srv/detail/get_visual_topics__type_support.hpp @@ -0,0 +1,71 @@ +// generated from rosidl_generator_cpp/resource/idl__type_support.hpp.em +// with input from bcr_bot:srv/GetVisualTopics.idl +// generated code does not contain a copyright notice + +#ifndef BCR_BOT__SRV__DETAIL__GET_VISUAL_TOPICS__TYPE_SUPPORT_HPP_ +#define BCR_BOT__SRV__DETAIL__GET_VISUAL_TOPICS__TYPE_SUPPORT_HPP_ + +#include "rosidl_typesupport_interface/macros.h" + +#include "bcr_bot/msg/rosidl_generator_cpp__visibility_control.hpp" + +#include "rosidl_typesupport_cpp/service_type_support.hpp" + +#ifdef __cplusplus +extern "C" +{ +#endif +// Forward declare the get type support functions for this type. +ROSIDL_GENERATOR_CPP_PUBLIC_bcr_bot +const rosidl_service_type_support_t * + ROSIDL_TYPESUPPORT_INTERFACE__SERVICE_SYMBOL_NAME( + rosidl_typesupport_cpp, + bcr_bot, + srv, + GetVisualTopics +)(); +#ifdef __cplusplus +} +#endif + +#include "rosidl_typesupport_cpp/message_type_support.hpp" + +#ifdef __cplusplus +extern "C" +{ +#endif +// Forward declare the get type support functions for this type. +ROSIDL_GENERATOR_CPP_PUBLIC_bcr_bot +const rosidl_message_type_support_t * + ROSIDL_TYPESUPPORT_INTERFACE__MESSAGE_SYMBOL_NAME( + rosidl_typesupport_cpp, + bcr_bot, + srv, + GetVisualTopics_Request +)(); +#ifdef __cplusplus +} +#endif + +// already included above +// #include "rosidl_typesupport_cpp/message_type_support.hpp" + +#ifdef __cplusplus +extern "C" +{ +#endif +// Forward declare the get type support functions for this type. +ROSIDL_GENERATOR_CPP_PUBLIC_bcr_bot +const rosidl_message_type_support_t * + ROSIDL_TYPESUPPORT_INTERFACE__MESSAGE_SYMBOL_NAME( + rosidl_typesupport_cpp, + bcr_bot, + srv, + GetVisualTopics_Response +)(); +#ifdef __cplusplus +} +#endif + + +#endif // BCR_BOT__SRV__DETAIL__GET_VISUAL_TOPICS__TYPE_SUPPORT_HPP_ diff --git a/install/bcr_bot/include/bcr_bot/bcr_bot/srv/get_visual_topics.h b/install/bcr_bot/include/bcr_bot/bcr_bot/srv/get_visual_topics.h new file mode 100644 index 0000000..878be46 --- /dev/null +++ b/install/bcr_bot/include/bcr_bot/bcr_bot/srv/get_visual_topics.h @@ -0,0 +1,12 @@ +// generated from rosidl_generator_c/resource/idl.h.em +// with input from bcr_bot:srv/GetVisualTopics.idl +// generated code does not contain a copyright notice + +#ifndef BCR_BOT__SRV__GET_VISUAL_TOPICS_H_ +#define BCR_BOT__SRV__GET_VISUAL_TOPICS_H_ + +#include "bcr_bot/srv/detail/get_visual_topics__struct.h" +#include "bcr_bot/srv/detail/get_visual_topics__functions.h" +#include "bcr_bot/srv/detail/get_visual_topics__type_support.h" + +#endif // BCR_BOT__SRV__GET_VISUAL_TOPICS_H_ diff --git a/install/bcr_bot/include/bcr_bot/bcr_bot/srv/get_visual_topics.hpp b/install/bcr_bot/include/bcr_bot/bcr_bot/srv/get_visual_topics.hpp new file mode 100644 index 0000000..f0002a3 --- /dev/null +++ b/install/bcr_bot/include/bcr_bot/bcr_bot/srv/get_visual_topics.hpp @@ -0,0 +1,12 @@ +// generated from rosidl_generator_cpp/resource/idl.hpp.em +// generated code does not contain a copyright notice + +#ifndef BCR_BOT__SRV__GET_VISUAL_TOPICS_HPP_ +#define BCR_BOT__SRV__GET_VISUAL_TOPICS_HPP_ + +#include "bcr_bot/srv/detail/get_visual_topics__struct.hpp" +#include "bcr_bot/srv/detail/get_visual_topics__builder.hpp" +#include "bcr_bot/srv/detail/get_visual_topics__traits.hpp" +#include "bcr_bot/srv/detail/get_visual_topics__type_support.hpp" + +#endif // BCR_BOT__SRV__GET_VISUAL_TOPICS_HPP_ diff --git a/install/bcr_bot/lib/bcr_bot/visual_topic_classifier.py b/install/bcr_bot/lib/bcr_bot/visual_topic_classifier.py new file mode 100755 index 0000000..f92087c --- /dev/null +++ b/install/bcr_bot/lib/bcr_bot/visual_topic_classifier.py @@ -0,0 +1,151 @@ +#!/usr/bin/env python3 +"""Expose visualization-compatible ROS topics for the web plugin.""" + +from collections import defaultdict + +import rclpy +from rclpy.node import Node +from rclpy.qos import DurabilityPolicy, QoSProfile, ReliabilityPolicy +from sensor_msgs.msg import CameraInfo, Image, PointCloud2 + +from bcr_bot.srv import GetVisualTopics + + +IMAGE_TYPE = "sensor_msgs/msg/Image" +CAMERA_INFO_TYPE = "sensor_msgs/msg/CameraInfo" +POINT_CLOUD_TYPE = "sensor_msgs/msg/PointCloud2" + +DEPTH_ENCODINGS = {"16uc1", "32fc1", "mono16"} +RGB_ENCODINGS = { + "rgb8", + "bgr8", + "rgba8", + "bgra8", + "8uc3", + "8uc4", + "r8g8b8", + "b8g8r8", +} + + +class VisualTopicClassifier(Node): + def __init__(self): + super().__init__("visual_topic_classifier") + + self._image_encodings = {} + self._image_subscriptions = {} + self._activity_subscriptions = {} + self._active_topics = set() + self._topics_by_type = defaultdict(set) + + self.create_service( + GetVisualTopics, "get_visual_topics", self._get_visual_topics_callback + ) + self.create_timer(1.0, self._scan_topics) + self._scan_topics() + + self.get_logger().info( + "Visual topic classifier is ready on service '/get_visual_topics'." + ) + + def _scan_topics(self): + topics_by_type = defaultdict(set) + + for topic_name, topic_types in self.get_topic_names_and_types(): + for topic_type in topic_types: + topics_by_type[topic_type].add(topic_name) + + if IMAGE_TYPE in topic_types: + self._subscribe_to_image_encoding(topic_name) + if CAMERA_INFO_TYPE in topic_types: + self._subscribe_for_activity(topic_name, CameraInfo) + if POINT_CLOUD_TYPE in topic_types: + self._subscribe_for_activity(topic_name, PointCloud2) + + self._topics_by_type = topics_by_type + + def _subscribe_to_image_encoding(self, topic_name): + if topic_name in self._image_subscriptions: + return + + qos = QoSProfile( + depth=1, + reliability=ReliabilityPolicy.BEST_EFFORT, + durability=DurabilityPolicy.VOLATILE, + ) + self._image_subscriptions[topic_name] = self.create_subscription( + Image, + topic_name, + lambda message, name=topic_name: self._cache_image_encoding(name, message), + qos, + ) + + def _subscribe_for_activity(self, topic_name, message_type): + if topic_name in self._activity_subscriptions: + return + + qos = QoSProfile( + depth=1, + reliability=ReliabilityPolicy.BEST_EFFORT, + durability=DurabilityPolicy.VOLATILE, + ) + self._activity_subscriptions[topic_name] = self.create_subscription( + message_type, + topic_name, + lambda _, name=topic_name: self._mark_topic_active(name), + qos, + ) + + def _cache_image_encoding(self, topic_name, message): + self._mark_topic_active(topic_name) + encoding = message.encoding.lower() + if self._image_encodings.get(topic_name) != encoding: + self._image_encodings[topic_name] = encoding + self.get_logger().info( + "Detected image encoding '%s' on '%s'." % (encoding, topic_name) + ) + + def _mark_topic_active(self, topic_name): + self._active_topics.add(topic_name) + + def _get_visual_topics_callback(self, request, response): + if request.refresh: + self._scan_topics() + + response.depth_image_topics = self._image_topics_for(DEPTH_ENCODINGS) + response.rgb_image_topics = self._image_topics_for(RGB_ENCODINGS) + response.camera_info_topics = self._active_topics_for(CAMERA_INFO_TYPE) + response.point_cloud_topics = self._active_topics_for(POINT_CLOUD_TYPE) + return response + + def _image_topics_for(self, expected_encodings): + return sorted( + topic_name + for topic_name in self._topics_by_type[IMAGE_TYPE] + if self._image_encodings.get(topic_name) in expected_encodings + ) + + def _active_topics_for(self, topic_type): + return sorted( + topic_name + for topic_name in self._topics_by_type[topic_type] + if topic_name in self._active_topics + ) + + +def main(args=None): + rclpy.init(args=args) + node = VisualTopicClassifier() + + try: + rclpy.spin(node) + except KeyboardInterrupt: + pass + finally: + node.destroy_node() + if rclpy.ok(): + rclpy.shutdown() + + +if __name__ == "__main__": + main() diff --git a/install/bcr_bot/lib/libbcr_bot__rosidl_generator_c.so b/install/bcr_bot/lib/libbcr_bot__rosidl_generator_c.so new file mode 100644 index 0000000000000000000000000000000000000000..db8426af82f9a84b8edd61370b904178bce67aa9 GIT binary patch literal 26216 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 literal 0 HcmV?d00001 diff --git a/install/bcr_bot/lib/libbcr_bot__rosidl_typesupport_fastrtps_c.so b/install/bcr_bot/lib/libbcr_bot__rosidl_typesupport_fastrtps_c.so new file mode 100644 index 0000000000000000000000000000000000000000..3b947ebc8fb53fcca0faf16e76b0cbf54923df40 GIT binary patch literal 33056 zcmeHQdw5jUwLcRQ2nZx7D&lKEuqcuyJS>QhL>L?@XasWQs&tsl49Q?#&I3ZP)Ibb3 z(==^tMX8V8+*&Q_*K67fmXCrRR1Ec28`Ro(FSiX=ZBkG}M2$+B`&;{QX3x$!Nx=5| z?jPCtX4YAcz1G@mud~lS=S=p#$F*cpn!{npGR(NvNMeSOFBq#gNC~3NHO|2I#l}TU zHa*GebF}R|PLj~b<~Z5NphG8pp*Y#M311PoglauzuTaQqaBe22OQ_Zx4pz-7&aWv? zh1?m#$Yf4|C;UvqA=TR^>TMJCB+MlN6bXfSgM6gVcEQ)76Fe$T_6@rN%6bPxJsnOF zauSj}mF4e7{B*3_k+_qDP@L>LX|GV!+p&x@bU50<=@LqNx1b)yWw1qr(^w|#+4Vz> zXt#vIJc}jipzgWhrXmAkaq?xDaDa}-3!M1Bdiljy*4_8gch>Ft!J}oz_doFm@3g;= z=s0{P;X`Id;N!~8z24Y;$Ee)R6UH?=_SJyI_ynm;#phCdzJkwX_*{Vxl^lF>@yR1Z zDYI~V=*dx!`QP@Wzqs(Z#ZSJq_tN=WW*2PQbH%MUEqOI<>ynd)H{MFVHpF7;Cg#%Z*$rY$XKUxQ-L(oTXBP56M>x`L8jm zVLZJXPYL!4Ps<>yRa+UTfpKr*7(shu1D&>Q0RYE^K-Az^QMS{w7Wpa zU#`hNC;WNpDz3juwChhIZreoM>N(r^w$QUe({oVJzopR)kEf)(vceONcta77$M7s( zvDD)agaReOa3l~~v2;OMWkq0xx4108dDa|{uiEQb6Rhx-1-}Ww+isd0s0vkvgXP|@ zt?`B8*d-O^fr^N$yxdl*EbLlq%bXVugo4aUKSIz@JQxl3LeNm?8;pv6 zq(WiWvQk?ed3pXovMv1xk{bJXXlm>QNzF~mBVY5NtE%(z@@5u$!$BYVJrt}cS?pUL z$;xPLMp$9CQWr$%ciZ6_H?hfZD=)9FT%r;R|?Z z#0w5e5ONW6@YM5UK^~eWf^6Z7RD9#9Yo5c-{(iOd96de97n0+iqKfsw3P18O94*I% z!BbLQ?Wqcc!j*KXh-~nz%RQ~^4p&uHgafCQ-lFP1I&Xy;%72`?>w-v^FL@fNYEJDm z;vG0QSQ++U)DO&FjBI3i#WFIL&by6W&v6=5BW(wWRM3y>d2mfI5HiYw#r+EBgeyr# z%m{$x=t4e1AWt{lhlGc#wl zc{DR;j;_m}LzfI1Ktr!+kP8lE>+Sn#SlE_#V!V zMzC*^r5Z#Z%%8!eeu{e#dB0J3>4r1t4*Mu*RLJg5!KeG?@xkC2dO~ts(4rHABk6Ab zq$xkl*d};X|Mh3?#2wUdV-%#wM&z>ZgPUQTE%3W~AH>Ww&6ot7ihRB!)EV7VIlW#y zzmas0m|=xNvJkI&%p9UA>##r;61MxQ9|TZ|B|C*vml$<*jS7XD1r z=rX=;jV{|+s?nvr1C`t^Zd>FdJw|9#=#)RQv@7&;B@wVgp-)igoeKQ|h2E{uFI4Eg z3f-yDbA|u7Ey8ouWGS?vS1ELn;;d4&LO&;|#+XpW5!`;_+)EaxLKnAkj5$rAKQxR}+joO`%U$0P7}PIF0YBxgt({c789q5UQbtniPHqE zrz_9IX@b?$HOa(j0@c$s&ctbg)YIiKahd@2bR9b>+ndes!zMnC;Rj8eCO~MviPHoJ z?Kg3nz@YsmP7{}&uKP@!Ch};%iPMb<+Hc}?LxT33I89{GeiNsO3fgbtG(kc8O`L9A z(0&uA8y2+R#A$+p_M14}prHMKlkImh{IH4B1RDKs;xw^E`%RoCerUgm)5H$#H*uQC zqx~jM6DPFa#A#xU_DdYuIA$qj<3fYwBk-jf?$YpUG<=SR&(QFx8h)XMpRM7#KN%YT zZ%b1B{aC}_*YI~W{C_q4_Zt3+hVR$#y&Aq#!+)mXk8Aj&8opJ-8#TO6!#8SpRKv?P zJfPvLG`vW|muk36!>`fsIT}7g!>4Nag&Kag#NCb8%tK$h8#87SnAaOQ8$;=quk)dF zWTGSM;u>VH@q&PmAIaqBq!GC6q&wE_-uJV#r2Tw-ELqU;HkeTRM!}46# zr}4Jtn*A_uM5hQ1{hf=Uv;lhe?WV!wIU3>7#)G(}bjMmd-^0+b z3nb&nOm~9|bzQxHy;;v1_r@b5c9ZmxjNK#va!2eI$|B*)?WQYVg{?N!?shj8eTZYIWrjz>aMrV~5ATg`4#bRI+8QhdvYZwKI89F+i}u)!4v>~OcbI_Vk)*ezf$ix4z& z8D=;ehRKNA(dKrbCe@zq>PWGX4I39>m!0vROt-3=KZEu!Q@L{l?33)d2Iatfl%T^M5c}m@w_Vd941@qszIRWcm0tZYS>D+JBA*QQ@`)) z80MyW&;U%FC(xfwGc61ibmA1USTm#Zo?lPSUzv2Cu7&dSdk_dYUxMIp=Q|Kvt|Y0$ z(Z;)!6us{vexE4NQ)W_hk*SD&=VU5kjTC3k)1OgbSu2rQ3?faMvo_Oo2{kBKPBg4V z98bXUE*!UL(K?Itw7P209HXlpU+DW9i#YA#aq5N&e3Eej!s0~4Ot*;B*ktq6I8|ao zLCw1kJ;dX*3sX|AFuZ_AewpDy3%2QlaP*IL{STs*2P&)%H@HTs3t1)gVGG zS(_&&BQzILiGxGY%Ej>k9LKc?9s86;s9udwy+wo$@CeZfjZZQ{Kv;x`Xh!Jh0<&Ri zgqBX>5xUT9*aH|VxJHT)*P%w}v7{pPiZER$dIQbp5n8G$QX}N0_SL%TDMIy#P&_3< zg@{TUI20i_j@xnErbXy?pRfouu?W4!bEwH8LhU?49Z-Q!GD1LDgowx@M3=gkueXfQ z^h$lfMdU6@w|2< z3D!|fcdTw20`r(r8&HmJ4t9#16d z>rRl3#v)Wwd3oSvJbKZ(1)3Wm7*)wn5yKIS)0WQ?v^ z62(aHF?35*_{9hDLmwp)No&vLlM*%z%u%d;Pgwi#V`*(%s1IBPH;mCPgvF!!cCuXDYe+#iWSN6k@SH z`m~3lJPeujY+@Pa)KK-rROVXC0^gd?kN zB<{&^Ss?G}vcOs~pJhYVW|lNoxpOnTR&pnwn%=1A&RW)0TNyJYV4GO0{$`mwA0K0F zC1$cWyRS9ds^-oQaXU+GodiQXcdi>wf+BbFCs6X7CGpxgu4t{DJ78Rr8Ve`jkU1E8 z$sPMc=Yz1GG`k^bmfo1jlzm>9eF`z;W`CQJYBpBqriirGWdl(7yVNZDF?rA@i>`oa zWD(V{$RehXWl;^%10OSsYN%27FqJ%uhLNHeWf52`i+)?MfCEQq%in(G+T0!&b&j z$)fo%USD_8GK-%1khPVV$?kmWYO}3s7A?m^6N=&gAa1-nPYfeLnMJu;7U8Pj+F1eP zQlzmE<69kbkY~{?u%0wKD`{38ijE4ie$y=d(p~CglZ(2Q6p_}t2>>jMj^o=c#-cmO zgFadG-UlpNRKp^Rm_EuPKKm1sK%Pr9$X2szt)00{H&3S>q><7|a9KuqK&-E$=W56( z0?CY8IGUy7Am9WgHRp6nm#7uVW%B#$_su|@tA7ms+42F0{J&my! zjhIIM(5xtRT*54=wetejb6ljc&<$zkAkV18QPu3>d8S!4qt3j5n?2JsJ6kgw<2OgG zbxt_KGOAn2s8QrWpNzU6rV%ZwVUba#L}nRP#oAWK0UMntqZo?T{So0qPsFLE#iTJt z8O6CQqsD+(UuQrGqD&x}Q9Z~bi;TKmMEMf9-A_iXfMUw1=;g>JY6WEzYt4KX;jGOx ziTM>>9FL4>I+EUW#L*PPoVBPk`AFfOBh~bz!yS7;w&COvYC}6UXE~ataXXUSIeod$ zC%NbL<^Cke{S2;mPN8URdXeUew-?-za^paG);FL zfVK>&O}WF0hkk~u6}jYuA8q28?my8FsXlEXQz<^xqhUs0pH`VZVJ_9@9-iG-Sovh$ z)3ljB(H&oh@Cjo--BG3b)bm%}Cw5=c*Qei*V2t8qb+6M&=aH39=DkFR=~E&6=oUU< z^q^-CsXl$9k5AjI<21+gX`4ly*b^@+pSIyF!X4gxS2y{@^JBVeyYir?_GosWCt{gh zDbIp79pxFk5nU9mamV-*7kQz&mWJ~@W*5ANh&cx1z^`J zGntpdv`8FwhA4q$q_wP|M`)7#1Pc9`yDrn?6=edsU!x4OmJ^y9pm z(&`p6-NI7sHPJnI__~W{y{m>l`k@DKc-a|uyXVO#pEdl+XG%)q{N32D-el7QYKteI zer#$&=%-Ehvz$p{kcp?_W?K-UO&fdZN*&#ZXZ8<6 znl3oMfL@??;+}*qqm3Dx8RI2)L&k@BT;!Q|A<~c$CzJ;FjFTkXknxO37=t>U2i~D( zW*h{w^C(q`WxT=#x0r(I5Nt{Y@i}tm*L1b)T!@RQay_EQ-?1o-O1=Cc@~1#z2Z49H zFFU~RNV?s%oeuY;wpA~%_s!z91sf=0(c=w8$Eh~IX&IdwJu#fby6auXvz}E2KZ4`G z>8p?XQpEfb_d%cid9aed9<sMBi;kkt+C_wa`8FkytGmH<6q(tul%n6}=5G@ohQCZydqJ>( zwS&F?WxroAf3ZONhssa{h9WQ&fuRTtMPMibLlGE?z)%E+A}|zzp$H5`U?>7w1n__B zPO;L4ldrDf42GQ*(Xz5phWO|9tFFQ-AI1$fi+qqizK)C2=dJSku&#o$qB7zv!7?RS z!^atcRwpeQGD?aOmki7RyBw?bL;`;L%|7W7Yg;gRXQ0{_2>8R!P@vq4l_n}moW;>K zYXYHB2CY&O@H-=wP9L-4^oBy-4bC-{At#msDDykN;ty0sNW`V@AmsG~E7nw=VmmEro>ByM#XoI8&KR4$XzYZqXPvP=v&Oh?;#HT=nlc$wR(~Pj z_E!^$Y$Aw4dhfue8T1;eFAC|5;FFK`vZc;kW3#uUEf_Pr0){~+{{8r@1fPCzXh{C5 zB!36U^rq=DmA^X4e*^T=e)z}15B0+zkM`f)51-y|Z|R4>0{kZM?fj2`|3E+W?+3rR zAN~&TpX!JI2KYO`53BJ>Tgw7O@jVWH0rLFr6n@y`k4Jw!3jQN0{2!S7+2Egd5c!)#Ll0r0=2)=!I?{2kz5`dT6}PUX9k z`riQmT<|}^`DEtLu=mqRg4$2T@y)^|EaOK!yc2Kq&sX!Fa{rY#6Nv>F&C<_Du%wS) z|IV=5^kKQ9posKbjq|*-BavWh^+}mw52Q&ucYt4l$INzdxEuVn;IlRH%=#r}{YSvx zjq$@S4tv0#fcF)4aX1A2$bR@I!2cZjAE$sw`)QA`KvMf?{JIDA+5fpqej#I14g6ff zG55A#AlPpVd&sf-ETc8!+dv-5e8|y$meDwhkdDz$I6gVc_|sTIelhL|$Nl4t*U$2> z>O)^c5g3ZVPy~h|@FgN3*QJu{P|0XcUl_b)Q>j)K0 zjajJ?0>cH~jB6Sdc_Z?TksPOg;ifWy1FRG#N)?Aftq~WD@q#@UUiln!T z#cHIVQn4^=+QX0inE!4ej~_8GT>8;1@ISJPxnbb{Y8YRb<3|4?2b=Pv8oRTkK zp@6FetP-$Bz$O8k1#A&8E?}F09RhX>C>LALo@B7%6fjr7d;tpuTrFUgfHeX(3D_)P zi-2(f+XUayw{t>-Oqf=TCU5>-D7TxPQjEP1~h*QWOl?C`XjI#|n?lB_1*5X5Y z>u}(}UAG)ZB|V6N#LEAzOdg|bA(xbPTLj&q(f12_nnr(((I*<4H2)8SPJYU~ zyBj!_kuXGbnTL;XvN222MP6Pa=w3mWdCKm2!22HP4&yvS=1;DWr~hmtx>NWg$MtuF z9+}7N9uRfLq;Y>_UemoDmAQg0^IZB^ZGtYZ^YVI%=34gq_n7`Ojow>@0tHy*$)k{`9RTG1 z9a6l7>4Bfx`MFon<@$m0`j?4=G$YH1=SvM7uE)J(8eNs0sr0v)o^uTSI`X#AUnAlp zYkk1z=Qg&rBsTY?cjug$;cp=#vqDeVzGNnS9@M@@HpQ+uaQMWD9>DW%RLz zzOMcYHhTVSLq7u(9`bWZJ~zUi_294sbgMXg*M|PA4Lu?B>-!^IfQb*;)z|-@2l|+AW41zq3Q;6E6>Z-82betrLicWvayBHzd#ecypAK(~s+4MKi$KDW)DA>y#gM*fG4 zj&_OjaU8FP0nS?gEufn+QWnr}BmXlS`kSCryY&4gPT0twk5h}{ukS-q#OR76;&6iv z{YRjaU48$BJvQ=(K(}h|a7?(Jea#w^K_@@;{VZx2y>EpFK_`FoeJl3Z$RD<$XW&9^ z<52yWwE!+`oMSZj;Jh5hZ%gQQ!UbusL zC7gIAb_b{o(PkQunCtNb@xF%^k=NeG$ff?VuY*67T<$S*lzVARk z(iVFS!1*P!=D;^}^=I*Y?Ri#SN_w1#{#5VtLvd8M8Y$zYSRnX~%v`8#GXXXmkfCnDGegi?!jvzIn? z@L-PzYy!hml8JRIqgM0@T2!G*Y4P z>E=a?mb+GXRuo*n#04`p+s~ZxMh{~91F^8YxjwzsP7wUuv@v|zd$07nr2XG>bB!;t zeMCN6PCvOqKGIy-3y5>E*gh?>Z`U#EPA>NQvkbJ4hsCxmmb(yX8^WB%o*ed@;;1db zo-|_U7;yK8)7lw?c53Joe47mHcTXj@U6RGHHOReLEXKzHYs%41*=J%W4Oo z!3?(fp`RUAMLcK?b{%9|`Rx?fA&+6)TONdZ7$aNon`tf%hm9QE(9u4FeQ$_QkwWj; z@aP23-guGw`AX;%bP4ddBcg}OK8qQXwq;mvRykpWgjRT)zL4uu0S>|H)6i{p&#^-Lk%X-zXugBxC^0`m+6-1n+uc zqR97`62?V5$p+Pt_GSGB&?qK&9LS3^70UOxg4(D5w}7G6cZ&KFHpzww1=$+BPpjWD znF~lLY7=U%m&D@E$Dyx<5~9_2c;2f^d6~x&->=n=(+Pzl;ni9N-Tv<&tJ*&y z-bYAyHPe>-B3ZQ@2136z5NT?@_mca6>+zQMC43)svy}SsJzLW%5K*KY$C9|De+CBS zzO*mjQ^@_?b4C2={G}r6Nx%5}w`6^}ztjQo8@Rc=n)xm3OPGd$P)wwK^S#GvUS*{g zFj-H+Gqn2hJ9tS?@lJ@2Mn3`fPBJIcunmXeg5Qvs51q77!XJ~X; zUxiwVvl=bJezR}@>wK~O)ulgj{KDgM(|6TW;hh{ihUc(qk#;4Go^8vvOB%s~YK~p3 JRnSo5{{Z?ibJPF; literal 0 HcmV?d00001 diff --git a/install/bcr_bot/lib/libbcr_bot__rosidl_typesupport_fastrtps_cpp.so b/install/bcr_bot/lib/libbcr_bot__rosidl_typesupport_fastrtps_cpp.so new file mode 100644 index 0000000000000000000000000000000000000000..d3aa4ec36e1534497119934375ab0144dbe35e4f GIT binary patch literal 60968 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 literal 0 HcmV?d00001 diff --git a/install/bcr_bot/local/lib/python3.10/dist-packages/bcr_bot-1.0.2-py3.10.egg-info/PKG-INFO b/install/bcr_bot/local/lib/python3.10/dist-packages/bcr_bot-1.0.2-py3.10.egg-info/PKG-INFO new file mode 100644 index 0000000..45bffef --- /dev/null +++ b/install/bcr_bot/local/lib/python3.10/dist-packages/bcr_bot-1.0.2-py3.10.egg-info/PKG-INFO @@ -0,0 +1,10 @@ +Metadata-Version: 2.1 +Name: bcr-bot +Version: 1.0.2 +Summary: UNKNOWN +Home-page: UNKNOWN +License: UNKNOWN +Platform: UNKNOWN + +UNKNOWN + diff --git a/install/bcr_bot/local/lib/python3.10/dist-packages/bcr_bot-1.0.2-py3.10.egg-info/SOURCES.txt b/install/bcr_bot/local/lib/python3.10/dist-packages/bcr_bot-1.0.2-py3.10.egg-info/SOURCES.txt new file mode 100644 index 0000000..79b099e --- /dev/null +++ b/install/bcr_bot/local/lib/python3.10/dist-packages/bcr_bot-1.0.2-py3.10.egg-info/SOURCES.txt @@ -0,0 +1,8 @@ +setup.py +bcr_bot/__init__.py +bcr_bot.egg-info/PKG-INFO +bcr_bot.egg-info/SOURCES.txt +bcr_bot.egg-info/dependency_links.txt +bcr_bot.egg-info/top_level.txt +bcr_bot/srv/__init__.py +bcr_bot/srv/_get_visual_topics.py \ No newline at end of file diff --git a/install/bcr_bot/local/lib/python3.10/dist-packages/bcr_bot-1.0.2-py3.10.egg-info/dependency_links.txt b/install/bcr_bot/local/lib/python3.10/dist-packages/bcr_bot-1.0.2-py3.10.egg-info/dependency_links.txt new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/install/bcr_bot/local/lib/python3.10/dist-packages/bcr_bot-1.0.2-py3.10.egg-info/dependency_links.txt @@ -0,0 +1 @@ + diff --git a/install/bcr_bot/local/lib/python3.10/dist-packages/bcr_bot-1.0.2-py3.10.egg-info/top_level.txt b/install/bcr_bot/local/lib/python3.10/dist-packages/bcr_bot-1.0.2-py3.10.egg-info/top_level.txt new file mode 100644 index 0000000..935b538 --- /dev/null +++ b/install/bcr_bot/local/lib/python3.10/dist-packages/bcr_bot-1.0.2-py3.10.egg-info/top_level.txt @@ -0,0 +1 @@ +bcr_bot diff --git a/install/bcr_bot/local/lib/python3.10/dist-packages/bcr_bot/__init__.py b/install/bcr_bot/local/lib/python3.10/dist-packages/bcr_bot/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/install/bcr_bot/local/lib/python3.10/dist-packages/bcr_bot/_bcr_bot_s.ep.rosidl_typesupport_c.c b/install/bcr_bot/local/lib/python3.10/dist-packages/bcr_bot/_bcr_bot_s.ep.rosidl_typesupport_c.c new file mode 100644 index 0000000..2e4ccb1 --- /dev/null +++ b/install/bcr_bot/local/lib/python3.10/dist-packages/bcr_bot/_bcr_bot_s.ep.rosidl_typesupport_c.c @@ -0,0 +1,354 @@ +// generated from rosidl_generator_py/resource/_idl_pkg_typesupport_entry_point.c.em +// generated code does not contain a copyright notice +#include + +static PyMethodDef bcr_bot__methods[] = { + {NULL, NULL, 0, NULL} /* sentinel */ +}; + +static struct PyModuleDef bcr_bot__module = { + PyModuleDef_HEAD_INIT, + "_bcr_bot_support", + "_bcr_bot_doc", + -1, /* -1 means that the module keeps state in global variables */ + bcr_bot__methods, + NULL, + NULL, + NULL, + NULL, +}; + +#include +#include +#include "rosidl_runtime_c/visibility_control.h" +#include "rosidl_runtime_c/message_type_support_struct.h" +#include "rosidl_runtime_c/service_type_support_struct.h" +#include "rosidl_runtime_c/action_type_support_struct.h" +#include "bcr_bot/srv/detail/get_visual_topics__type_support.h" +#include "bcr_bot/srv/detail/get_visual_topics__struct.h" +#include "bcr_bot/srv/detail/get_visual_topics__functions.h" + +static void * bcr_bot__srv__get_visual_topics__request__create_ros_message(void) +{ + return bcr_bot__srv__GetVisualTopics_Request__create(); +} + +static void bcr_bot__srv__get_visual_topics__request__destroy_ros_message(void * raw_ros_message) +{ + bcr_bot__srv__GetVisualTopics_Request * ros_message = (bcr_bot__srv__GetVisualTopics_Request *)raw_ros_message; + bcr_bot__srv__GetVisualTopics_Request__destroy(ros_message); +} + +ROSIDL_GENERATOR_C_IMPORT +bool bcr_bot__srv__get_visual_topics__request__convert_from_py(PyObject * _pymsg, void * ros_message); +ROSIDL_GENERATOR_C_IMPORT +PyObject * bcr_bot__srv__get_visual_topics__request__convert_to_py(void * raw_ros_message); + + +ROSIDL_GENERATOR_C_IMPORT +const rosidl_message_type_support_t * +ROSIDL_GET_MSG_TYPE_SUPPORT(bcr_bot, srv, GetVisualTopics_Request); + +int8_t +_register_msg_type__srv__get_visual_topics__request(PyObject * pymodule) +{ + int8_t err; + + PyObject * pyobject_create_ros_message = NULL; + pyobject_create_ros_message = PyCapsule_New( + (void *)&bcr_bot__srv__get_visual_topics__request__create_ros_message, + NULL, NULL); + if (!pyobject_create_ros_message) { + // previously added objects will be removed when the module is destroyed + return -1; + } + err = PyModule_AddObject( + pymodule, + "create_ros_message_msg__srv__get_visual_topics__request", + pyobject_create_ros_message); + if (err) { + // the created capsule needs to be decremented + Py_XDECREF(pyobject_create_ros_message); + // previously added objects will be removed when the module is destroyed + return err; + } + + PyObject * pyobject_destroy_ros_message = NULL; + pyobject_destroy_ros_message = PyCapsule_New( + (void *)&bcr_bot__srv__get_visual_topics__request__destroy_ros_message, + NULL, NULL); + if (!pyobject_destroy_ros_message) { + // previously added objects will be removed when the module is destroyed + return -1; + } + err = PyModule_AddObject( + pymodule, + "destroy_ros_message_msg__srv__get_visual_topics__request", + pyobject_destroy_ros_message); + if (err) { + // the created capsule needs to be decremented + Py_XDECREF(pyobject_destroy_ros_message); + // previously added objects will be removed when the module is destroyed + return err; + } + + PyObject * pyobject_convert_from_py = NULL; + pyobject_convert_from_py = PyCapsule_New( + (void *)&bcr_bot__srv__get_visual_topics__request__convert_from_py, + NULL, NULL); + if (!pyobject_convert_from_py) { + // previously added objects will be removed when the module is destroyed + return -1; + } + err = PyModule_AddObject( + pymodule, + "convert_from_py_msg__srv__get_visual_topics__request", + pyobject_convert_from_py); + if (err) { + // the created capsule needs to be decremented + Py_XDECREF(pyobject_convert_from_py); + // previously added objects will be removed when the module is destroyed + return err; + } + + PyObject * pyobject_convert_to_py = NULL; + pyobject_convert_to_py = PyCapsule_New( + (void *)&bcr_bot__srv__get_visual_topics__request__convert_to_py, + NULL, NULL); + if (!pyobject_convert_to_py) { + // previously added objects will be removed when the module is destroyed + return -1; + } + err = PyModule_AddObject( + pymodule, + "convert_to_py_msg__srv__get_visual_topics__request", + pyobject_convert_to_py); + if (err) { + // the created capsule needs to be decremented + Py_XDECREF(pyobject_convert_to_py); + // previously added objects will be removed when the module is destroyed + return err; + } + + PyObject * pyobject_type_support = NULL; + pyobject_type_support = PyCapsule_New( + (void *)ROSIDL_GET_MSG_TYPE_SUPPORT(bcr_bot, srv, GetVisualTopics_Request), + NULL, NULL); + if (!pyobject_type_support) { + // previously added objects will be removed when the module is destroyed + return -1; + } + err = PyModule_AddObject( + pymodule, + "type_support_msg__srv__get_visual_topics__request", + pyobject_type_support); + if (err) { + // the created capsule needs to be decremented + Py_XDECREF(pyobject_type_support); + // previously added objects will be removed when the module is destroyed + return err; + } + return 0; +} + +// already included above +// #include +// already included above +// #include +// already included above +// #include "rosidl_runtime_c/visibility_control.h" +// already included above +// #include "rosidl_runtime_c/message_type_support_struct.h" +// already included above +// #include "rosidl_runtime_c/service_type_support_struct.h" +// already included above +// #include "rosidl_runtime_c/action_type_support_struct.h" +// already included above +// #include "bcr_bot/srv/detail/get_visual_topics__type_support.h" +// already included above +// #include "bcr_bot/srv/detail/get_visual_topics__struct.h" +// already included above +// #include "bcr_bot/srv/detail/get_visual_topics__functions.h" + +static void * bcr_bot__srv__get_visual_topics__response__create_ros_message(void) +{ + return bcr_bot__srv__GetVisualTopics_Response__create(); +} + +static void bcr_bot__srv__get_visual_topics__response__destroy_ros_message(void * raw_ros_message) +{ + bcr_bot__srv__GetVisualTopics_Response * ros_message = (bcr_bot__srv__GetVisualTopics_Response *)raw_ros_message; + bcr_bot__srv__GetVisualTopics_Response__destroy(ros_message); +} + +ROSIDL_GENERATOR_C_IMPORT +bool bcr_bot__srv__get_visual_topics__response__convert_from_py(PyObject * _pymsg, void * ros_message); +ROSIDL_GENERATOR_C_IMPORT +PyObject * bcr_bot__srv__get_visual_topics__response__convert_to_py(void * raw_ros_message); + + +ROSIDL_GENERATOR_C_IMPORT +const rosidl_message_type_support_t * +ROSIDL_GET_MSG_TYPE_SUPPORT(bcr_bot, srv, GetVisualTopics_Response); + +int8_t +_register_msg_type__srv__get_visual_topics__response(PyObject * pymodule) +{ + int8_t err; + + PyObject * pyobject_create_ros_message = NULL; + pyobject_create_ros_message = PyCapsule_New( + (void *)&bcr_bot__srv__get_visual_topics__response__create_ros_message, + NULL, NULL); + if (!pyobject_create_ros_message) { + // previously added objects will be removed when the module is destroyed + return -1; + } + err = PyModule_AddObject( + pymodule, + "create_ros_message_msg__srv__get_visual_topics__response", + pyobject_create_ros_message); + if (err) { + // the created capsule needs to be decremented + Py_XDECREF(pyobject_create_ros_message); + // previously added objects will be removed when the module is destroyed + return err; + } + + PyObject * pyobject_destroy_ros_message = NULL; + pyobject_destroy_ros_message = PyCapsule_New( + (void *)&bcr_bot__srv__get_visual_topics__response__destroy_ros_message, + NULL, NULL); + if (!pyobject_destroy_ros_message) { + // previously added objects will be removed when the module is destroyed + return -1; + } + err = PyModule_AddObject( + pymodule, + "destroy_ros_message_msg__srv__get_visual_topics__response", + pyobject_destroy_ros_message); + if (err) { + // the created capsule needs to be decremented + Py_XDECREF(pyobject_destroy_ros_message); + // previously added objects will be removed when the module is destroyed + return err; + } + + PyObject * pyobject_convert_from_py = NULL; + pyobject_convert_from_py = PyCapsule_New( + (void *)&bcr_bot__srv__get_visual_topics__response__convert_from_py, + NULL, NULL); + if (!pyobject_convert_from_py) { + // previously added objects will be removed when the module is destroyed + return -1; + } + err = PyModule_AddObject( + pymodule, + "convert_from_py_msg__srv__get_visual_topics__response", + pyobject_convert_from_py); + if (err) { + // the created capsule needs to be decremented + Py_XDECREF(pyobject_convert_from_py); + // previously added objects will be removed when the module is destroyed + return err; + } + + PyObject * pyobject_convert_to_py = NULL; + pyobject_convert_to_py = PyCapsule_New( + (void *)&bcr_bot__srv__get_visual_topics__response__convert_to_py, + NULL, NULL); + if (!pyobject_convert_to_py) { + // previously added objects will be removed when the module is destroyed + return -1; + } + err = PyModule_AddObject( + pymodule, + "convert_to_py_msg__srv__get_visual_topics__response", + pyobject_convert_to_py); + if (err) { + // the created capsule needs to be decremented + Py_XDECREF(pyobject_convert_to_py); + // previously added objects will be removed when the module is destroyed + return err; + } + + PyObject * pyobject_type_support = NULL; + pyobject_type_support = PyCapsule_New( + (void *)ROSIDL_GET_MSG_TYPE_SUPPORT(bcr_bot, srv, GetVisualTopics_Response), + NULL, NULL); + if (!pyobject_type_support) { + // previously added objects will be removed when the module is destroyed + return -1; + } + err = PyModule_AddObject( + pymodule, + "type_support_msg__srv__get_visual_topics__response", + pyobject_type_support); + if (err) { + // the created capsule needs to be decremented + Py_XDECREF(pyobject_type_support); + // previously added objects will be removed when the module is destroyed + return err; + } + return 0; +} + +ROSIDL_GENERATOR_C_IMPORT +const rosidl_service_type_support_t * +ROSIDL_TYPESUPPORT_INTERFACE__SERVICE_SYMBOL_NAME(rosidl_typesupport_c, bcr_bot, srv, GetVisualTopics)(); + +int8_t +_register_srv_type__srv__get_visual_topics(PyObject * pymodule) +{ + int8_t err; + PyObject * pyobject_type_support = NULL; + pyobject_type_support = PyCapsule_New( + (void *)ROSIDL_TYPESUPPORT_INTERFACE__SERVICE_SYMBOL_NAME(rosidl_typesupport_c, bcr_bot, srv, GetVisualTopics)(), + NULL, NULL); + if (!pyobject_type_support) { + // previously added objects will be removed when the module is destroyed + return -1; + } + err = PyModule_AddObject( + pymodule, + "type_support_srv__srv__get_visual_topics", + pyobject_type_support); + if (err) { + // the created capsule needs to be decremented + Py_XDECREF(pyobject_type_support); + // previously added objects will be removed when the module is destroyed + return err; + } + return 0; +} + +PyMODINIT_FUNC +PyInit_bcr_bot_s__rosidl_typesupport_c(void) +{ + PyObject * pymodule = NULL; + pymodule = PyModule_Create(&bcr_bot__module); + if (!pymodule) { + return NULL; + } + int8_t err; + + err = _register_msg_type__srv__get_visual_topics__request(pymodule); + if (err) { + Py_XDECREF(pymodule); + return NULL; + } + + err = _register_msg_type__srv__get_visual_topics__response(pymodule); + if (err) { + Py_XDECREF(pymodule); + return NULL; + } + + err = _register_srv_type__srv__get_visual_topics(pymodule); + if (err) { + Py_XDECREF(pymodule); + return NULL; + } + + return pymodule; +} diff --git a/install/bcr_bot/local/lib/python3.10/dist-packages/bcr_bot/_bcr_bot_s.ep.rosidl_typesupport_fastrtps_c.c b/install/bcr_bot/local/lib/python3.10/dist-packages/bcr_bot/_bcr_bot_s.ep.rosidl_typesupport_fastrtps_c.c new file mode 100644 index 0000000..72290b2 --- /dev/null +++ b/install/bcr_bot/local/lib/python3.10/dist-packages/bcr_bot/_bcr_bot_s.ep.rosidl_typesupport_fastrtps_c.c @@ -0,0 +1,354 @@ +// generated from rosidl_generator_py/resource/_idl_pkg_typesupport_entry_point.c.em +// generated code does not contain a copyright notice +#include + +static PyMethodDef bcr_bot__methods[] = { + {NULL, NULL, 0, NULL} /* sentinel */ +}; + +static struct PyModuleDef bcr_bot__module = { + PyModuleDef_HEAD_INIT, + "_bcr_bot_support", + "_bcr_bot_doc", + -1, /* -1 means that the module keeps state in global variables */ + bcr_bot__methods, + NULL, + NULL, + NULL, + NULL, +}; + +#include +#include +#include "rosidl_runtime_c/visibility_control.h" +#include "rosidl_runtime_c/message_type_support_struct.h" +#include "rosidl_runtime_c/service_type_support_struct.h" +#include "rosidl_runtime_c/action_type_support_struct.h" +#include "bcr_bot/srv/detail/get_visual_topics__type_support.h" +#include "bcr_bot/srv/detail/get_visual_topics__struct.h" +#include "bcr_bot/srv/detail/get_visual_topics__functions.h" + +static void * bcr_bot__srv__get_visual_topics__request__create_ros_message(void) +{ + return bcr_bot__srv__GetVisualTopics_Request__create(); +} + +static void bcr_bot__srv__get_visual_topics__request__destroy_ros_message(void * raw_ros_message) +{ + bcr_bot__srv__GetVisualTopics_Request * ros_message = (bcr_bot__srv__GetVisualTopics_Request *)raw_ros_message; + bcr_bot__srv__GetVisualTopics_Request__destroy(ros_message); +} + +ROSIDL_GENERATOR_C_IMPORT +bool bcr_bot__srv__get_visual_topics__request__convert_from_py(PyObject * _pymsg, void * ros_message); +ROSIDL_GENERATOR_C_IMPORT +PyObject * bcr_bot__srv__get_visual_topics__request__convert_to_py(void * raw_ros_message); + + +ROSIDL_GENERATOR_C_IMPORT +const rosidl_message_type_support_t * +ROSIDL_GET_MSG_TYPE_SUPPORT(bcr_bot, srv, GetVisualTopics_Request); + +int8_t +_register_msg_type__srv__get_visual_topics__request(PyObject * pymodule) +{ + int8_t err; + + PyObject * pyobject_create_ros_message = NULL; + pyobject_create_ros_message = PyCapsule_New( + (void *)&bcr_bot__srv__get_visual_topics__request__create_ros_message, + NULL, NULL); + if (!pyobject_create_ros_message) { + // previously added objects will be removed when the module is destroyed + return -1; + } + err = PyModule_AddObject( + pymodule, + "create_ros_message_msg__srv__get_visual_topics__request", + pyobject_create_ros_message); + if (err) { + // the created capsule needs to be decremented + Py_XDECREF(pyobject_create_ros_message); + // previously added objects will be removed when the module is destroyed + return err; + } + + PyObject * pyobject_destroy_ros_message = NULL; + pyobject_destroy_ros_message = PyCapsule_New( + (void *)&bcr_bot__srv__get_visual_topics__request__destroy_ros_message, + NULL, NULL); + if (!pyobject_destroy_ros_message) { + // previously added objects will be removed when the module is destroyed + return -1; + } + err = PyModule_AddObject( + pymodule, + "destroy_ros_message_msg__srv__get_visual_topics__request", + pyobject_destroy_ros_message); + if (err) { + // the created capsule needs to be decremented + Py_XDECREF(pyobject_destroy_ros_message); + // previously added objects will be removed when the module is destroyed + return err; + } + + PyObject * pyobject_convert_from_py = NULL; + pyobject_convert_from_py = PyCapsule_New( + (void *)&bcr_bot__srv__get_visual_topics__request__convert_from_py, + NULL, NULL); + if (!pyobject_convert_from_py) { + // previously added objects will be removed when the module is destroyed + return -1; + } + err = PyModule_AddObject( + pymodule, + "convert_from_py_msg__srv__get_visual_topics__request", + pyobject_convert_from_py); + if (err) { + // the created capsule needs to be decremented + Py_XDECREF(pyobject_convert_from_py); + // previously added objects will be removed when the module is destroyed + return err; + } + + PyObject * pyobject_convert_to_py = NULL; + pyobject_convert_to_py = PyCapsule_New( + (void *)&bcr_bot__srv__get_visual_topics__request__convert_to_py, + NULL, NULL); + if (!pyobject_convert_to_py) { + // previously added objects will be removed when the module is destroyed + return -1; + } + err = PyModule_AddObject( + pymodule, + "convert_to_py_msg__srv__get_visual_topics__request", + pyobject_convert_to_py); + if (err) { + // the created capsule needs to be decremented + Py_XDECREF(pyobject_convert_to_py); + // previously added objects will be removed when the module is destroyed + return err; + } + + PyObject * pyobject_type_support = NULL; + pyobject_type_support = PyCapsule_New( + (void *)ROSIDL_GET_MSG_TYPE_SUPPORT(bcr_bot, srv, GetVisualTopics_Request), + NULL, NULL); + if (!pyobject_type_support) { + // previously added objects will be removed when the module is destroyed + return -1; + } + err = PyModule_AddObject( + pymodule, + "type_support_msg__srv__get_visual_topics__request", + pyobject_type_support); + if (err) { + // the created capsule needs to be decremented + Py_XDECREF(pyobject_type_support); + // previously added objects will be removed when the module is destroyed + return err; + } + return 0; +} + +// already included above +// #include +// already included above +// #include +// already included above +// #include "rosidl_runtime_c/visibility_control.h" +// already included above +// #include "rosidl_runtime_c/message_type_support_struct.h" +// already included above +// #include "rosidl_runtime_c/service_type_support_struct.h" +// already included above +// #include "rosidl_runtime_c/action_type_support_struct.h" +// already included above +// #include "bcr_bot/srv/detail/get_visual_topics__type_support.h" +// already included above +// #include "bcr_bot/srv/detail/get_visual_topics__struct.h" +// already included above +// #include "bcr_bot/srv/detail/get_visual_topics__functions.h" + +static void * bcr_bot__srv__get_visual_topics__response__create_ros_message(void) +{ + return bcr_bot__srv__GetVisualTopics_Response__create(); +} + +static void bcr_bot__srv__get_visual_topics__response__destroy_ros_message(void * raw_ros_message) +{ + bcr_bot__srv__GetVisualTopics_Response * ros_message = (bcr_bot__srv__GetVisualTopics_Response *)raw_ros_message; + bcr_bot__srv__GetVisualTopics_Response__destroy(ros_message); +} + +ROSIDL_GENERATOR_C_IMPORT +bool bcr_bot__srv__get_visual_topics__response__convert_from_py(PyObject * _pymsg, void * ros_message); +ROSIDL_GENERATOR_C_IMPORT +PyObject * bcr_bot__srv__get_visual_topics__response__convert_to_py(void * raw_ros_message); + + +ROSIDL_GENERATOR_C_IMPORT +const rosidl_message_type_support_t * +ROSIDL_GET_MSG_TYPE_SUPPORT(bcr_bot, srv, GetVisualTopics_Response); + +int8_t +_register_msg_type__srv__get_visual_topics__response(PyObject * pymodule) +{ + int8_t err; + + PyObject * pyobject_create_ros_message = NULL; + pyobject_create_ros_message = PyCapsule_New( + (void *)&bcr_bot__srv__get_visual_topics__response__create_ros_message, + NULL, NULL); + if (!pyobject_create_ros_message) { + // previously added objects will be removed when the module is destroyed + return -1; + } + err = PyModule_AddObject( + pymodule, + "create_ros_message_msg__srv__get_visual_topics__response", + pyobject_create_ros_message); + if (err) { + // the created capsule needs to be decremented + Py_XDECREF(pyobject_create_ros_message); + // previously added objects will be removed when the module is destroyed + return err; + } + + PyObject * pyobject_destroy_ros_message = NULL; + pyobject_destroy_ros_message = PyCapsule_New( + (void *)&bcr_bot__srv__get_visual_topics__response__destroy_ros_message, + NULL, NULL); + if (!pyobject_destroy_ros_message) { + // previously added objects will be removed when the module is destroyed + return -1; + } + err = PyModule_AddObject( + pymodule, + "destroy_ros_message_msg__srv__get_visual_topics__response", + pyobject_destroy_ros_message); + if (err) { + // the created capsule needs to be decremented + Py_XDECREF(pyobject_destroy_ros_message); + // previously added objects will be removed when the module is destroyed + return err; + } + + PyObject * pyobject_convert_from_py = NULL; + pyobject_convert_from_py = PyCapsule_New( + (void *)&bcr_bot__srv__get_visual_topics__response__convert_from_py, + NULL, NULL); + if (!pyobject_convert_from_py) { + // previously added objects will be removed when the module is destroyed + return -1; + } + err = PyModule_AddObject( + pymodule, + "convert_from_py_msg__srv__get_visual_topics__response", + pyobject_convert_from_py); + if (err) { + // the created capsule needs to be decremented + Py_XDECREF(pyobject_convert_from_py); + // previously added objects will be removed when the module is destroyed + return err; + } + + PyObject * pyobject_convert_to_py = NULL; + pyobject_convert_to_py = PyCapsule_New( + (void *)&bcr_bot__srv__get_visual_topics__response__convert_to_py, + NULL, NULL); + if (!pyobject_convert_to_py) { + // previously added objects will be removed when the module is destroyed + return -1; + } + err = PyModule_AddObject( + pymodule, + "convert_to_py_msg__srv__get_visual_topics__response", + pyobject_convert_to_py); + if (err) { + // the created capsule needs to be decremented + Py_XDECREF(pyobject_convert_to_py); + // previously added objects will be removed when the module is destroyed + return err; + } + + PyObject * pyobject_type_support = NULL; + pyobject_type_support = PyCapsule_New( + (void *)ROSIDL_GET_MSG_TYPE_SUPPORT(bcr_bot, srv, GetVisualTopics_Response), + NULL, NULL); + if (!pyobject_type_support) { + // previously added objects will be removed when the module is destroyed + return -1; + } + err = PyModule_AddObject( + pymodule, + "type_support_msg__srv__get_visual_topics__response", + pyobject_type_support); + if (err) { + // the created capsule needs to be decremented + Py_XDECREF(pyobject_type_support); + // previously added objects will be removed when the module is destroyed + return err; + } + return 0; +} + +ROSIDL_GENERATOR_C_IMPORT +const rosidl_service_type_support_t * +ROSIDL_TYPESUPPORT_INTERFACE__SERVICE_SYMBOL_NAME(rosidl_typesupport_c, bcr_bot, srv, GetVisualTopics)(); + +int8_t +_register_srv_type__srv__get_visual_topics(PyObject * pymodule) +{ + int8_t err; + PyObject * pyobject_type_support = NULL; + pyobject_type_support = PyCapsule_New( + (void *)ROSIDL_TYPESUPPORT_INTERFACE__SERVICE_SYMBOL_NAME(rosidl_typesupport_c, bcr_bot, srv, GetVisualTopics)(), + NULL, NULL); + if (!pyobject_type_support) { + // previously added objects will be removed when the module is destroyed + return -1; + } + err = PyModule_AddObject( + pymodule, + "type_support_srv__srv__get_visual_topics", + pyobject_type_support); + if (err) { + // the created capsule needs to be decremented + Py_XDECREF(pyobject_type_support); + // previously added objects will be removed when the module is destroyed + return err; + } + return 0; +} + +PyMODINIT_FUNC +PyInit_bcr_bot_s__rosidl_typesupport_fastrtps_c(void) +{ + PyObject * pymodule = NULL; + pymodule = PyModule_Create(&bcr_bot__module); + if (!pymodule) { + return NULL; + } + int8_t err; + + err = _register_msg_type__srv__get_visual_topics__request(pymodule); + if (err) { + Py_XDECREF(pymodule); + return NULL; + } + + err = _register_msg_type__srv__get_visual_topics__response(pymodule); + if (err) { + Py_XDECREF(pymodule); + return NULL; + } + + err = _register_srv_type__srv__get_visual_topics(pymodule); + if (err) { + Py_XDECREF(pymodule); + return NULL; + } + + return pymodule; +} diff --git a/install/bcr_bot/local/lib/python3.10/dist-packages/bcr_bot/_bcr_bot_s.ep.rosidl_typesupport_introspection_c.c b/install/bcr_bot/local/lib/python3.10/dist-packages/bcr_bot/_bcr_bot_s.ep.rosidl_typesupport_introspection_c.c new file mode 100644 index 0000000..ae93342 --- /dev/null +++ b/install/bcr_bot/local/lib/python3.10/dist-packages/bcr_bot/_bcr_bot_s.ep.rosidl_typesupport_introspection_c.c @@ -0,0 +1,354 @@ +// generated from rosidl_generator_py/resource/_idl_pkg_typesupport_entry_point.c.em +// generated code does not contain a copyright notice +#include + +static PyMethodDef bcr_bot__methods[] = { + {NULL, NULL, 0, NULL} /* sentinel */ +}; + +static struct PyModuleDef bcr_bot__module = { + PyModuleDef_HEAD_INIT, + "_bcr_bot_support", + "_bcr_bot_doc", + -1, /* -1 means that the module keeps state in global variables */ + bcr_bot__methods, + NULL, + NULL, + NULL, + NULL, +}; + +#include +#include +#include "rosidl_runtime_c/visibility_control.h" +#include "rosidl_runtime_c/message_type_support_struct.h" +#include "rosidl_runtime_c/service_type_support_struct.h" +#include "rosidl_runtime_c/action_type_support_struct.h" +#include "bcr_bot/srv/detail/get_visual_topics__type_support.h" +#include "bcr_bot/srv/detail/get_visual_topics__struct.h" +#include "bcr_bot/srv/detail/get_visual_topics__functions.h" + +static void * bcr_bot__srv__get_visual_topics__request__create_ros_message(void) +{ + return bcr_bot__srv__GetVisualTopics_Request__create(); +} + +static void bcr_bot__srv__get_visual_topics__request__destroy_ros_message(void * raw_ros_message) +{ + bcr_bot__srv__GetVisualTopics_Request * ros_message = (bcr_bot__srv__GetVisualTopics_Request *)raw_ros_message; + bcr_bot__srv__GetVisualTopics_Request__destroy(ros_message); +} + +ROSIDL_GENERATOR_C_IMPORT +bool bcr_bot__srv__get_visual_topics__request__convert_from_py(PyObject * _pymsg, void * ros_message); +ROSIDL_GENERATOR_C_IMPORT +PyObject * bcr_bot__srv__get_visual_topics__request__convert_to_py(void * raw_ros_message); + + +ROSIDL_GENERATOR_C_IMPORT +const rosidl_message_type_support_t * +ROSIDL_GET_MSG_TYPE_SUPPORT(bcr_bot, srv, GetVisualTopics_Request); + +int8_t +_register_msg_type__srv__get_visual_topics__request(PyObject * pymodule) +{ + int8_t err; + + PyObject * pyobject_create_ros_message = NULL; + pyobject_create_ros_message = PyCapsule_New( + (void *)&bcr_bot__srv__get_visual_topics__request__create_ros_message, + NULL, NULL); + if (!pyobject_create_ros_message) { + // previously added objects will be removed when the module is destroyed + return -1; + } + err = PyModule_AddObject( + pymodule, + "create_ros_message_msg__srv__get_visual_topics__request", + pyobject_create_ros_message); + if (err) { + // the created capsule needs to be decremented + Py_XDECREF(pyobject_create_ros_message); + // previously added objects will be removed when the module is destroyed + return err; + } + + PyObject * pyobject_destroy_ros_message = NULL; + pyobject_destroy_ros_message = PyCapsule_New( + (void *)&bcr_bot__srv__get_visual_topics__request__destroy_ros_message, + NULL, NULL); + if (!pyobject_destroy_ros_message) { + // previously added objects will be removed when the module is destroyed + return -1; + } + err = PyModule_AddObject( + pymodule, + "destroy_ros_message_msg__srv__get_visual_topics__request", + pyobject_destroy_ros_message); + if (err) { + // the created capsule needs to be decremented + Py_XDECREF(pyobject_destroy_ros_message); + // previously added objects will be removed when the module is destroyed + return err; + } + + PyObject * pyobject_convert_from_py = NULL; + pyobject_convert_from_py = PyCapsule_New( + (void *)&bcr_bot__srv__get_visual_topics__request__convert_from_py, + NULL, NULL); + if (!pyobject_convert_from_py) { + // previously added objects will be removed when the module is destroyed + return -1; + } + err = PyModule_AddObject( + pymodule, + "convert_from_py_msg__srv__get_visual_topics__request", + pyobject_convert_from_py); + if (err) { + // the created capsule needs to be decremented + Py_XDECREF(pyobject_convert_from_py); + // previously added objects will be removed when the module is destroyed + return err; + } + + PyObject * pyobject_convert_to_py = NULL; + pyobject_convert_to_py = PyCapsule_New( + (void *)&bcr_bot__srv__get_visual_topics__request__convert_to_py, + NULL, NULL); + if (!pyobject_convert_to_py) { + // previously added objects will be removed when the module is destroyed + return -1; + } + err = PyModule_AddObject( + pymodule, + "convert_to_py_msg__srv__get_visual_topics__request", + pyobject_convert_to_py); + if (err) { + // the created capsule needs to be decremented + Py_XDECREF(pyobject_convert_to_py); + // previously added objects will be removed when the module is destroyed + return err; + } + + PyObject * pyobject_type_support = NULL; + pyobject_type_support = PyCapsule_New( + (void *)ROSIDL_GET_MSG_TYPE_SUPPORT(bcr_bot, srv, GetVisualTopics_Request), + NULL, NULL); + if (!pyobject_type_support) { + // previously added objects will be removed when the module is destroyed + return -1; + } + err = PyModule_AddObject( + pymodule, + "type_support_msg__srv__get_visual_topics__request", + pyobject_type_support); + if (err) { + // the created capsule needs to be decremented + Py_XDECREF(pyobject_type_support); + // previously added objects will be removed when the module is destroyed + return err; + } + return 0; +} + +// already included above +// #include +// already included above +// #include +// already included above +// #include "rosidl_runtime_c/visibility_control.h" +// already included above +// #include "rosidl_runtime_c/message_type_support_struct.h" +// already included above +// #include "rosidl_runtime_c/service_type_support_struct.h" +// already included above +// #include "rosidl_runtime_c/action_type_support_struct.h" +// already included above +// #include "bcr_bot/srv/detail/get_visual_topics__type_support.h" +// already included above +// #include "bcr_bot/srv/detail/get_visual_topics__struct.h" +// already included above +// #include "bcr_bot/srv/detail/get_visual_topics__functions.h" + +static void * bcr_bot__srv__get_visual_topics__response__create_ros_message(void) +{ + return bcr_bot__srv__GetVisualTopics_Response__create(); +} + +static void bcr_bot__srv__get_visual_topics__response__destroy_ros_message(void * raw_ros_message) +{ + bcr_bot__srv__GetVisualTopics_Response * ros_message = (bcr_bot__srv__GetVisualTopics_Response *)raw_ros_message; + bcr_bot__srv__GetVisualTopics_Response__destroy(ros_message); +} + +ROSIDL_GENERATOR_C_IMPORT +bool bcr_bot__srv__get_visual_topics__response__convert_from_py(PyObject * _pymsg, void * ros_message); +ROSIDL_GENERATOR_C_IMPORT +PyObject * bcr_bot__srv__get_visual_topics__response__convert_to_py(void * raw_ros_message); + + +ROSIDL_GENERATOR_C_IMPORT +const rosidl_message_type_support_t * +ROSIDL_GET_MSG_TYPE_SUPPORT(bcr_bot, srv, GetVisualTopics_Response); + +int8_t +_register_msg_type__srv__get_visual_topics__response(PyObject * pymodule) +{ + int8_t err; + + PyObject * pyobject_create_ros_message = NULL; + pyobject_create_ros_message = PyCapsule_New( + (void *)&bcr_bot__srv__get_visual_topics__response__create_ros_message, + NULL, NULL); + if (!pyobject_create_ros_message) { + // previously added objects will be removed when the module is destroyed + return -1; + } + err = PyModule_AddObject( + pymodule, + "create_ros_message_msg__srv__get_visual_topics__response", + pyobject_create_ros_message); + if (err) { + // the created capsule needs to be decremented + Py_XDECREF(pyobject_create_ros_message); + // previously added objects will be removed when the module is destroyed + return err; + } + + PyObject * pyobject_destroy_ros_message = NULL; + pyobject_destroy_ros_message = PyCapsule_New( + (void *)&bcr_bot__srv__get_visual_topics__response__destroy_ros_message, + NULL, NULL); + if (!pyobject_destroy_ros_message) { + // previously added objects will be removed when the module is destroyed + return -1; + } + err = PyModule_AddObject( + pymodule, + "destroy_ros_message_msg__srv__get_visual_topics__response", + pyobject_destroy_ros_message); + if (err) { + // the created capsule needs to be decremented + Py_XDECREF(pyobject_destroy_ros_message); + // previously added objects will be removed when the module is destroyed + return err; + } + + PyObject * pyobject_convert_from_py = NULL; + pyobject_convert_from_py = PyCapsule_New( + (void *)&bcr_bot__srv__get_visual_topics__response__convert_from_py, + NULL, NULL); + if (!pyobject_convert_from_py) { + // previously added objects will be removed when the module is destroyed + return -1; + } + err = PyModule_AddObject( + pymodule, + "convert_from_py_msg__srv__get_visual_topics__response", + pyobject_convert_from_py); + if (err) { + // the created capsule needs to be decremented + Py_XDECREF(pyobject_convert_from_py); + // previously added objects will be removed when the module is destroyed + return err; + } + + PyObject * pyobject_convert_to_py = NULL; + pyobject_convert_to_py = PyCapsule_New( + (void *)&bcr_bot__srv__get_visual_topics__response__convert_to_py, + NULL, NULL); + if (!pyobject_convert_to_py) { + // previously added objects will be removed when the module is destroyed + return -1; + } + err = PyModule_AddObject( + pymodule, + "convert_to_py_msg__srv__get_visual_topics__response", + pyobject_convert_to_py); + if (err) { + // the created capsule needs to be decremented + Py_XDECREF(pyobject_convert_to_py); + // previously added objects will be removed when the module is destroyed + return err; + } + + PyObject * pyobject_type_support = NULL; + pyobject_type_support = PyCapsule_New( + (void *)ROSIDL_GET_MSG_TYPE_SUPPORT(bcr_bot, srv, GetVisualTopics_Response), + NULL, NULL); + if (!pyobject_type_support) { + // previously added objects will be removed when the module is destroyed + return -1; + } + err = PyModule_AddObject( + pymodule, + "type_support_msg__srv__get_visual_topics__response", + pyobject_type_support); + if (err) { + // the created capsule needs to be decremented + Py_XDECREF(pyobject_type_support); + // previously added objects will be removed when the module is destroyed + return err; + } + return 0; +} + +ROSIDL_GENERATOR_C_IMPORT +const rosidl_service_type_support_t * +ROSIDL_TYPESUPPORT_INTERFACE__SERVICE_SYMBOL_NAME(rosidl_typesupport_c, bcr_bot, srv, GetVisualTopics)(); + +int8_t +_register_srv_type__srv__get_visual_topics(PyObject * pymodule) +{ + int8_t err; + PyObject * pyobject_type_support = NULL; + pyobject_type_support = PyCapsule_New( + (void *)ROSIDL_TYPESUPPORT_INTERFACE__SERVICE_SYMBOL_NAME(rosidl_typesupport_c, bcr_bot, srv, GetVisualTopics)(), + NULL, NULL); + if (!pyobject_type_support) { + // previously added objects will be removed when the module is destroyed + return -1; + } + err = PyModule_AddObject( + pymodule, + "type_support_srv__srv__get_visual_topics", + pyobject_type_support); + if (err) { + // the created capsule needs to be decremented + Py_XDECREF(pyobject_type_support); + // previously added objects will be removed when the module is destroyed + return err; + } + return 0; +} + +PyMODINIT_FUNC +PyInit_bcr_bot_s__rosidl_typesupport_introspection_c(void) +{ + PyObject * pymodule = NULL; + pymodule = PyModule_Create(&bcr_bot__module); + if (!pymodule) { + return NULL; + } + int8_t err; + + err = _register_msg_type__srv__get_visual_topics__request(pymodule); + if (err) { + Py_XDECREF(pymodule); + return NULL; + } + + err = _register_msg_type__srv__get_visual_topics__response(pymodule); + if (err) { + Py_XDECREF(pymodule); + return NULL; + } + + err = _register_srv_type__srv__get_visual_topics(pymodule); + if (err) { + Py_XDECREF(pymodule); + return NULL; + } + + return pymodule; +} diff --git a/install/bcr_bot/local/lib/python3.10/dist-packages/bcr_bot/bcr_bot_s__rosidl_typesupport_c.cpython-310-x86_64-linux-gnu.so b/install/bcr_bot/local/lib/python3.10/dist-packages/bcr_bot/bcr_bot_s__rosidl_typesupport_c.cpython-310-x86_64-linux-gnu.so new file mode 100644 index 0000000000000000000000000000000000000000..738b3c1b472ab1836e086361b390249381bc4169 GIT binary patch literal 17504 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 literal 0 HcmV?d00001 diff --git a/install/bcr_bot/local/lib/python3.10/dist-packages/bcr_bot/bcr_bot_s__rosidl_typesupport_fastrtps_c.cpython-310-x86_64-linux-gnu.so b/install/bcr_bot/local/lib/python3.10/dist-packages/bcr_bot/bcr_bot_s__rosidl_typesupport_fastrtps_c.cpython-310-x86_64-linux-gnu.so new file mode 100644 index 0000000000000000000000000000000000000000..0db8da3a7490c1938ee70ec156e3033ec732369b GIT binary patch literal 17528 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 literal 0 HcmV?d00001 diff --git a/install/bcr_bot/local/lib/python3.10/dist-packages/bcr_bot/bcr_bot_s__rosidl_typesupport_introspection_c.cpython-310-x86_64-linux-gnu.so b/install/bcr_bot/local/lib/python3.10/dist-packages/bcr_bot/bcr_bot_s__rosidl_typesupport_introspection_c.cpython-310-x86_64-linux-gnu.so new file mode 100644 index 0000000000000000000000000000000000000000..bb316d6d2d1de66de831bc0658107ac90db01738 GIT binary patch literal 17536 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 literal 0 HcmV?d00001 diff --git a/install/bcr_bot/local/lib/python3.10/dist-packages/bcr_bot/srv/__init__.py b/install/bcr_bot/local/lib/python3.10/dist-packages/bcr_bot/srv/__init__.py new file mode 100644 index 0000000..5139e40 --- /dev/null +++ b/install/bcr_bot/local/lib/python3.10/dist-packages/bcr_bot/srv/__init__.py @@ -0,0 +1 @@ +from bcr_bot.srv._get_visual_topics import GetVisualTopics # noqa: F401 diff --git a/install/bcr_bot/local/lib/python3.10/dist-packages/bcr_bot/srv/_get_visual_topics.py b/install/bcr_bot/local/lib/python3.10/dist-packages/bcr_bot/srv/_get_visual_topics.py new file mode 100644 index 0000000..b6d32bc --- /dev/null +++ b/install/bcr_bot/local/lib/python3.10/dist-packages/bcr_bot/srv/_get_visual_topics.py @@ -0,0 +1,380 @@ +# generated from rosidl_generator_py/resource/_idl.py.em +# with input from bcr_bot:srv/GetVisualTopics.idl +# generated code does not contain a copyright notice + + +# Import statements for member types + +import builtins # noqa: E402, I100 + +import rosidl_parser.definition # noqa: E402, I100 + + +class Metaclass_GetVisualTopics_Request(type): + """Metaclass of message 'GetVisualTopics_Request'.""" + + _CREATE_ROS_MESSAGE = None + _CONVERT_FROM_PY = None + _CONVERT_TO_PY = None + _DESTROY_ROS_MESSAGE = None + _TYPE_SUPPORT = None + + __constants = { + } + + @classmethod + def __import_type_support__(cls): + try: + from rosidl_generator_py import import_type_support + module = import_type_support('bcr_bot') + except ImportError: + import logging + import traceback + logger = logging.getLogger( + 'bcr_bot.srv.GetVisualTopics_Request') + logger.debug( + 'Failed to import needed modules for type support:\n' + + traceback.format_exc()) + else: + cls._CREATE_ROS_MESSAGE = module.create_ros_message_msg__srv__get_visual_topics__request + cls._CONVERT_FROM_PY = module.convert_from_py_msg__srv__get_visual_topics__request + cls._CONVERT_TO_PY = module.convert_to_py_msg__srv__get_visual_topics__request + cls._TYPE_SUPPORT = module.type_support_msg__srv__get_visual_topics__request + cls._DESTROY_ROS_MESSAGE = module.destroy_ros_message_msg__srv__get_visual_topics__request + + @classmethod + def __prepare__(cls, name, bases, **kwargs): + # list constant names here so that they appear in the help text of + # the message class under "Data and other attributes defined here:" + # as well as populate each message instance + return { + } + + +class GetVisualTopics_Request(metaclass=Metaclass_GetVisualTopics_Request): + """Message class 'GetVisualTopics_Request'.""" + + __slots__ = [ + '_refresh', + ] + + _fields_and_field_types = { + 'refresh': 'boolean', + } + + SLOT_TYPES = ( + rosidl_parser.definition.BasicType('boolean'), # noqa: E501 + ) + + def __init__(self, **kwargs): + assert all('_' + key in self.__slots__ for key in kwargs.keys()), \ + 'Invalid arguments passed to constructor: %s' % \ + ', '.join(sorted(k for k in kwargs.keys() if '_' + k not in self.__slots__)) + self.refresh = kwargs.get('refresh', bool()) + + def __repr__(self): + typename = self.__class__.__module__.split('.') + typename.pop() + typename.append(self.__class__.__name__) + args = [] + for s, t in zip(self.__slots__, self.SLOT_TYPES): + field = getattr(self, s) + fieldstr = repr(field) + # We use Python array type for fields that can be directly stored + # in them, and "normal" sequences for everything else. If it is + # a type that we store in an array, strip off the 'array' portion. + if ( + isinstance(t, rosidl_parser.definition.AbstractSequence) and + isinstance(t.value_type, rosidl_parser.definition.BasicType) and + t.value_type.typename in ['float', 'double', 'int8', 'uint8', 'int16', 'uint16', 'int32', 'uint32', 'int64', 'uint64'] + ): + if len(field) == 0: + fieldstr = '[]' + else: + assert fieldstr.startswith('array(') + prefix = "array('X', " + suffix = ')' + fieldstr = fieldstr[len(prefix):-len(suffix)] + args.append(s[1:] + '=' + fieldstr) + return '%s(%s)' % ('.'.join(typename), ', '.join(args)) + + def __eq__(self, other): + if not isinstance(other, self.__class__): + return False + if self.refresh != other.refresh: + return False + return True + + @classmethod + def get_fields_and_field_types(cls): + from copy import copy + return copy(cls._fields_and_field_types) + + @builtins.property + def refresh(self): + """Message field 'refresh'.""" + return self._refresh + + @refresh.setter + def refresh(self, value): + if __debug__: + assert \ + isinstance(value, bool), \ + "The 'refresh' field must be of type 'bool'" + self._refresh = value + + +# Import statements for member types + +# already imported above +# import builtins + +# already imported above +# import rosidl_parser.definition + + +class Metaclass_GetVisualTopics_Response(type): + """Metaclass of message 'GetVisualTopics_Response'.""" + + _CREATE_ROS_MESSAGE = None + _CONVERT_FROM_PY = None + _CONVERT_TO_PY = None + _DESTROY_ROS_MESSAGE = None + _TYPE_SUPPORT = None + + __constants = { + } + + @classmethod + def __import_type_support__(cls): + try: + from rosidl_generator_py import import_type_support + module = import_type_support('bcr_bot') + except ImportError: + import logging + import traceback + logger = logging.getLogger( + 'bcr_bot.srv.GetVisualTopics_Response') + logger.debug( + 'Failed to import needed modules for type support:\n' + + traceback.format_exc()) + else: + cls._CREATE_ROS_MESSAGE = module.create_ros_message_msg__srv__get_visual_topics__response + cls._CONVERT_FROM_PY = module.convert_from_py_msg__srv__get_visual_topics__response + cls._CONVERT_TO_PY = module.convert_to_py_msg__srv__get_visual_topics__response + cls._TYPE_SUPPORT = module.type_support_msg__srv__get_visual_topics__response + cls._DESTROY_ROS_MESSAGE = module.destroy_ros_message_msg__srv__get_visual_topics__response + + @classmethod + def __prepare__(cls, name, bases, **kwargs): + # list constant names here so that they appear in the help text of + # the message class under "Data and other attributes defined here:" + # as well as populate each message instance + return { + } + + +class GetVisualTopics_Response(metaclass=Metaclass_GetVisualTopics_Response): + """Message class 'GetVisualTopics_Response'.""" + + __slots__ = [ + '_depth_image_topics', + '_rgb_image_topics', + '_camera_info_topics', + '_point_cloud_topics', + ] + + _fields_and_field_types = { + 'depth_image_topics': 'sequence', + 'rgb_image_topics': 'sequence', + 'camera_info_topics': 'sequence', + 'point_cloud_topics': 'sequence', + } + + SLOT_TYPES = ( + rosidl_parser.definition.UnboundedSequence(rosidl_parser.definition.UnboundedString()), # noqa: E501 + rosidl_parser.definition.UnboundedSequence(rosidl_parser.definition.UnboundedString()), # noqa: E501 + rosidl_parser.definition.UnboundedSequence(rosidl_parser.definition.UnboundedString()), # noqa: E501 + rosidl_parser.definition.UnboundedSequence(rosidl_parser.definition.UnboundedString()), # noqa: E501 + ) + + def __init__(self, **kwargs): + assert all('_' + key in self.__slots__ for key in kwargs.keys()), \ + 'Invalid arguments passed to constructor: %s' % \ + ', '.join(sorted(k for k in kwargs.keys() if '_' + k not in self.__slots__)) + self.depth_image_topics = kwargs.get('depth_image_topics', []) + self.rgb_image_topics = kwargs.get('rgb_image_topics', []) + self.camera_info_topics = kwargs.get('camera_info_topics', []) + self.point_cloud_topics = kwargs.get('point_cloud_topics', []) + + def __repr__(self): + typename = self.__class__.__module__.split('.') + typename.pop() + typename.append(self.__class__.__name__) + args = [] + for s, t in zip(self.__slots__, self.SLOT_TYPES): + field = getattr(self, s) + fieldstr = repr(field) + # We use Python array type for fields that can be directly stored + # in them, and "normal" sequences for everything else. If it is + # a type that we store in an array, strip off the 'array' portion. + if ( + isinstance(t, rosidl_parser.definition.AbstractSequence) and + isinstance(t.value_type, rosidl_parser.definition.BasicType) and + t.value_type.typename in ['float', 'double', 'int8', 'uint8', 'int16', 'uint16', 'int32', 'uint32', 'int64', 'uint64'] + ): + if len(field) == 0: + fieldstr = '[]' + else: + assert fieldstr.startswith('array(') + prefix = "array('X', " + suffix = ')' + fieldstr = fieldstr[len(prefix):-len(suffix)] + args.append(s[1:] + '=' + fieldstr) + return '%s(%s)' % ('.'.join(typename), ', '.join(args)) + + def __eq__(self, other): + if not isinstance(other, self.__class__): + return False + if self.depth_image_topics != other.depth_image_topics: + return False + if self.rgb_image_topics != other.rgb_image_topics: + return False + if self.camera_info_topics != other.camera_info_topics: + return False + if self.point_cloud_topics != other.point_cloud_topics: + return False + return True + + @classmethod + def get_fields_and_field_types(cls): + from copy import copy + return copy(cls._fields_and_field_types) + + @builtins.property + def depth_image_topics(self): + """Message field 'depth_image_topics'.""" + return self._depth_image_topics + + @depth_image_topics.setter + def depth_image_topics(self, value): + if __debug__: + from collections.abc import Sequence + from collections.abc import Set + from collections import UserList + from collections import UserString + assert \ + ((isinstance(value, Sequence) or + isinstance(value, Set) or + isinstance(value, UserList)) and + not isinstance(value, str) and + not isinstance(value, UserString) and + all(isinstance(v, str) for v in value) and + True), \ + "The 'depth_image_topics' field must be a set or sequence and each value of type 'str'" + self._depth_image_topics = value + + @builtins.property + def rgb_image_topics(self): + """Message field 'rgb_image_topics'.""" + return self._rgb_image_topics + + @rgb_image_topics.setter + def rgb_image_topics(self, value): + if __debug__: + from collections.abc import Sequence + from collections.abc import Set + from collections import UserList + from collections import UserString + assert \ + ((isinstance(value, Sequence) or + isinstance(value, Set) or + isinstance(value, UserList)) and + not isinstance(value, str) and + not isinstance(value, UserString) and + all(isinstance(v, str) for v in value) and + True), \ + "The 'rgb_image_topics' field must be a set or sequence and each value of type 'str'" + self._rgb_image_topics = value + + @builtins.property + def camera_info_topics(self): + """Message field 'camera_info_topics'.""" + return self._camera_info_topics + + @camera_info_topics.setter + def camera_info_topics(self, value): + if __debug__: + from collections.abc import Sequence + from collections.abc import Set + from collections import UserList + from collections import UserString + assert \ + ((isinstance(value, Sequence) or + isinstance(value, Set) or + isinstance(value, UserList)) and + not isinstance(value, str) and + not isinstance(value, UserString) and + all(isinstance(v, str) for v in value) and + True), \ + "The 'camera_info_topics' field must be a set or sequence and each value of type 'str'" + self._camera_info_topics = value + + @builtins.property + def point_cloud_topics(self): + """Message field 'point_cloud_topics'.""" + return self._point_cloud_topics + + @point_cloud_topics.setter + def point_cloud_topics(self, value): + if __debug__: + from collections.abc import Sequence + from collections.abc import Set + from collections import UserList + from collections import UserString + assert \ + ((isinstance(value, Sequence) or + isinstance(value, Set) or + isinstance(value, UserList)) and + not isinstance(value, str) and + not isinstance(value, UserString) and + all(isinstance(v, str) for v in value) and + True), \ + "The 'point_cloud_topics' field must be a set or sequence and each value of type 'str'" + self._point_cloud_topics = value + + +class Metaclass_GetVisualTopics(type): + """Metaclass of service 'GetVisualTopics'.""" + + _TYPE_SUPPORT = None + + @classmethod + def __import_type_support__(cls): + try: + from rosidl_generator_py import import_type_support + module = import_type_support('bcr_bot') + except ImportError: + import logging + import traceback + logger = logging.getLogger( + 'bcr_bot.srv.GetVisualTopics') + logger.debug( + 'Failed to import needed modules for type support:\n' + + traceback.format_exc()) + else: + cls._TYPE_SUPPORT = module.type_support_srv__srv__get_visual_topics + + from bcr_bot.srv import _get_visual_topics + if _get_visual_topics.Metaclass_GetVisualTopics_Request._TYPE_SUPPORT is None: + _get_visual_topics.Metaclass_GetVisualTopics_Request.__import_type_support__() + if _get_visual_topics.Metaclass_GetVisualTopics_Response._TYPE_SUPPORT is None: + _get_visual_topics.Metaclass_GetVisualTopics_Response.__import_type_support__() + + +class GetVisualTopics(metaclass=Metaclass_GetVisualTopics): + from bcr_bot.srv._get_visual_topics import GetVisualTopics_Request as Request + from bcr_bot.srv._get_visual_topics import GetVisualTopics_Response as Response + + def __init__(self): + raise NotImplementedError('Service classes can not be instantiated') diff --git a/install/bcr_bot/local/lib/python3.10/dist-packages/bcr_bot/srv/_get_visual_topics_s.c b/install/bcr_bot/local/lib/python3.10/dist-packages/bcr_bot/srv/_get_visual_topics_s.c new file mode 100644 index 0000000..ea13a10 --- /dev/null +++ b/install/bcr_bot/local/lib/python3.10/dist-packages/bcr_bot/srv/_get_visual_topics_s.c @@ -0,0 +1,462 @@ +// generated from rosidl_generator_py/resource/_idl_support.c.em +// with input from bcr_bot:srv/GetVisualTopics.idl +// generated code does not contain a copyright notice +#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION +#include +#include +#ifndef _WIN32 +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wunused-function" +#endif +#include "numpy/ndarrayobject.h" +#ifndef _WIN32 +# pragma GCC diagnostic pop +#endif +#include "rosidl_runtime_c/visibility_control.h" +#include "bcr_bot/srv/detail/get_visual_topics__struct.h" +#include "bcr_bot/srv/detail/get_visual_topics__functions.h" + + +ROSIDL_GENERATOR_C_EXPORT +bool bcr_bot__srv__get_visual_topics__request__convert_from_py(PyObject * _pymsg, void * _ros_message) +{ + // check that the passed message is of the expected Python class + { + char full_classname_dest[55]; + { + char * class_name = NULL; + char * module_name = NULL; + { + PyObject * class_attr = PyObject_GetAttrString(_pymsg, "__class__"); + if (class_attr) { + PyObject * name_attr = PyObject_GetAttrString(class_attr, "__name__"); + if (name_attr) { + class_name = (char *)PyUnicode_1BYTE_DATA(name_attr); + Py_DECREF(name_attr); + } + PyObject * module_attr = PyObject_GetAttrString(class_attr, "__module__"); + if (module_attr) { + module_name = (char *)PyUnicode_1BYTE_DATA(module_attr); + Py_DECREF(module_attr); + } + Py_DECREF(class_attr); + } + } + if (!class_name || !module_name) { + return false; + } + snprintf(full_classname_dest, sizeof(full_classname_dest), "%s.%s", module_name, class_name); + } + assert(strncmp("bcr_bot.srv._get_visual_topics.GetVisualTopics_Request", full_classname_dest, 54) == 0); + } + bcr_bot__srv__GetVisualTopics_Request * ros_message = _ros_message; + { // refresh + PyObject * field = PyObject_GetAttrString(_pymsg, "refresh"); + if (!field) { + return false; + } + assert(PyBool_Check(field)); + ros_message->refresh = (Py_True == field); + Py_DECREF(field); + } + + return true; +} + +ROSIDL_GENERATOR_C_EXPORT +PyObject * bcr_bot__srv__get_visual_topics__request__convert_to_py(void * raw_ros_message) +{ + /* NOTE(esteve): Call constructor of GetVisualTopics_Request */ + PyObject * _pymessage = NULL; + { + PyObject * pymessage_module = PyImport_ImportModule("bcr_bot.srv._get_visual_topics"); + assert(pymessage_module); + PyObject * pymessage_class = PyObject_GetAttrString(pymessage_module, "GetVisualTopics_Request"); + assert(pymessage_class); + Py_DECREF(pymessage_module); + _pymessage = PyObject_CallObject(pymessage_class, NULL); + Py_DECREF(pymessage_class); + if (!_pymessage) { + return NULL; + } + } + bcr_bot__srv__GetVisualTopics_Request * ros_message = (bcr_bot__srv__GetVisualTopics_Request *)raw_ros_message; + { // refresh + PyObject * field = NULL; + field = PyBool_FromLong(ros_message->refresh ? 1 : 0); + { + int rc = PyObject_SetAttrString(_pymessage, "refresh", field); + Py_DECREF(field); + if (rc) { + return NULL; + } + } + } + + // ownership of _pymessage is transferred to the caller + return _pymessage; +} + +#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION +// already included above +// #include +// already included above +// #include +// already included above +// #include "numpy/ndarrayobject.h" +// already included above +// #include "rosidl_runtime_c/visibility_control.h" +// already included above +// #include "bcr_bot/srv/detail/get_visual_topics__struct.h" +// already included above +// #include "bcr_bot/srv/detail/get_visual_topics__functions.h" + +#include "rosidl_runtime_c/primitives_sequence.h" +#include "rosidl_runtime_c/primitives_sequence_functions.h" +#include "rosidl_runtime_c/string.h" +#include "rosidl_runtime_c/string_functions.h" + + +ROSIDL_GENERATOR_C_EXPORT +bool bcr_bot__srv__get_visual_topics__response__convert_from_py(PyObject * _pymsg, void * _ros_message) +{ + // check that the passed message is of the expected Python class + { + char full_classname_dest[56]; + { + char * class_name = NULL; + char * module_name = NULL; + { + PyObject * class_attr = PyObject_GetAttrString(_pymsg, "__class__"); + if (class_attr) { + PyObject * name_attr = PyObject_GetAttrString(class_attr, "__name__"); + if (name_attr) { + class_name = (char *)PyUnicode_1BYTE_DATA(name_attr); + Py_DECREF(name_attr); + } + PyObject * module_attr = PyObject_GetAttrString(class_attr, "__module__"); + if (module_attr) { + module_name = (char *)PyUnicode_1BYTE_DATA(module_attr); + Py_DECREF(module_attr); + } + Py_DECREF(class_attr); + } + } + if (!class_name || !module_name) { + return false; + } + snprintf(full_classname_dest, sizeof(full_classname_dest), "%s.%s", module_name, class_name); + } + assert(strncmp("bcr_bot.srv._get_visual_topics.GetVisualTopics_Response", full_classname_dest, 55) == 0); + } + bcr_bot__srv__GetVisualTopics_Response * ros_message = _ros_message; + { // depth_image_topics + PyObject * field = PyObject_GetAttrString(_pymsg, "depth_image_topics"); + if (!field) { + return false; + } + { + PyObject * seq_field = PySequence_Fast(field, "expected a sequence in 'depth_image_topics'"); + if (!seq_field) { + Py_DECREF(field); + return false; + } + Py_ssize_t size = PySequence_Size(field); + if (-1 == size) { + Py_DECREF(seq_field); + Py_DECREF(field); + return false; + } + if (!rosidl_runtime_c__String__Sequence__init(&(ros_message->depth_image_topics), size)) { + PyErr_SetString(PyExc_RuntimeError, "unable to create String__Sequence ros_message"); + Py_DECREF(seq_field); + Py_DECREF(field); + return false; + } + rosidl_runtime_c__String * dest = ros_message->depth_image_topics.data; + for (Py_ssize_t i = 0; i < size; ++i) { + PyObject * item = PySequence_Fast_GET_ITEM(seq_field, i); + if (!item) { + Py_DECREF(seq_field); + Py_DECREF(field); + return false; + } + assert(PyUnicode_Check(item)); + PyObject * encoded_item = PyUnicode_AsUTF8String(item); + if (!encoded_item) { + Py_DECREF(seq_field); + Py_DECREF(field); + return false; + } + rosidl_runtime_c__String__assign(&dest[i], PyBytes_AS_STRING(encoded_item)); + Py_DECREF(encoded_item); + } + Py_DECREF(seq_field); + } + Py_DECREF(field); + } + { // rgb_image_topics + PyObject * field = PyObject_GetAttrString(_pymsg, "rgb_image_topics"); + if (!field) { + return false; + } + { + PyObject * seq_field = PySequence_Fast(field, "expected a sequence in 'rgb_image_topics'"); + if (!seq_field) { + Py_DECREF(field); + return false; + } + Py_ssize_t size = PySequence_Size(field); + if (-1 == size) { + Py_DECREF(seq_field); + Py_DECREF(field); + return false; + } + if (!rosidl_runtime_c__String__Sequence__init(&(ros_message->rgb_image_topics), size)) { + PyErr_SetString(PyExc_RuntimeError, "unable to create String__Sequence ros_message"); + Py_DECREF(seq_field); + Py_DECREF(field); + return false; + } + rosidl_runtime_c__String * dest = ros_message->rgb_image_topics.data; + for (Py_ssize_t i = 0; i < size; ++i) { + PyObject * item = PySequence_Fast_GET_ITEM(seq_field, i); + if (!item) { + Py_DECREF(seq_field); + Py_DECREF(field); + return false; + } + assert(PyUnicode_Check(item)); + PyObject * encoded_item = PyUnicode_AsUTF8String(item); + if (!encoded_item) { + Py_DECREF(seq_field); + Py_DECREF(field); + return false; + } + rosidl_runtime_c__String__assign(&dest[i], PyBytes_AS_STRING(encoded_item)); + Py_DECREF(encoded_item); + } + Py_DECREF(seq_field); + } + Py_DECREF(field); + } + { // camera_info_topics + PyObject * field = PyObject_GetAttrString(_pymsg, "camera_info_topics"); + if (!field) { + return false; + } + { + PyObject * seq_field = PySequence_Fast(field, "expected a sequence in 'camera_info_topics'"); + if (!seq_field) { + Py_DECREF(field); + return false; + } + Py_ssize_t size = PySequence_Size(field); + if (-1 == size) { + Py_DECREF(seq_field); + Py_DECREF(field); + return false; + } + if (!rosidl_runtime_c__String__Sequence__init(&(ros_message->camera_info_topics), size)) { + PyErr_SetString(PyExc_RuntimeError, "unable to create String__Sequence ros_message"); + Py_DECREF(seq_field); + Py_DECREF(field); + return false; + } + rosidl_runtime_c__String * dest = ros_message->camera_info_topics.data; + for (Py_ssize_t i = 0; i < size; ++i) { + PyObject * item = PySequence_Fast_GET_ITEM(seq_field, i); + if (!item) { + Py_DECREF(seq_field); + Py_DECREF(field); + return false; + } + assert(PyUnicode_Check(item)); + PyObject * encoded_item = PyUnicode_AsUTF8String(item); + if (!encoded_item) { + Py_DECREF(seq_field); + Py_DECREF(field); + return false; + } + rosidl_runtime_c__String__assign(&dest[i], PyBytes_AS_STRING(encoded_item)); + Py_DECREF(encoded_item); + } + Py_DECREF(seq_field); + } + Py_DECREF(field); + } + { // point_cloud_topics + PyObject * field = PyObject_GetAttrString(_pymsg, "point_cloud_topics"); + if (!field) { + return false; + } + { + PyObject * seq_field = PySequence_Fast(field, "expected a sequence in 'point_cloud_topics'"); + if (!seq_field) { + Py_DECREF(field); + return false; + } + Py_ssize_t size = PySequence_Size(field); + if (-1 == size) { + Py_DECREF(seq_field); + Py_DECREF(field); + return false; + } + if (!rosidl_runtime_c__String__Sequence__init(&(ros_message->point_cloud_topics), size)) { + PyErr_SetString(PyExc_RuntimeError, "unable to create String__Sequence ros_message"); + Py_DECREF(seq_field); + Py_DECREF(field); + return false; + } + rosidl_runtime_c__String * dest = ros_message->point_cloud_topics.data; + for (Py_ssize_t i = 0; i < size; ++i) { + PyObject * item = PySequence_Fast_GET_ITEM(seq_field, i); + if (!item) { + Py_DECREF(seq_field); + Py_DECREF(field); + return false; + } + assert(PyUnicode_Check(item)); + PyObject * encoded_item = PyUnicode_AsUTF8String(item); + if (!encoded_item) { + Py_DECREF(seq_field); + Py_DECREF(field); + return false; + } + rosidl_runtime_c__String__assign(&dest[i], PyBytes_AS_STRING(encoded_item)); + Py_DECREF(encoded_item); + } + Py_DECREF(seq_field); + } + Py_DECREF(field); + } + + return true; +} + +ROSIDL_GENERATOR_C_EXPORT +PyObject * bcr_bot__srv__get_visual_topics__response__convert_to_py(void * raw_ros_message) +{ + /* NOTE(esteve): Call constructor of GetVisualTopics_Response */ + PyObject * _pymessage = NULL; + { + PyObject * pymessage_module = PyImport_ImportModule("bcr_bot.srv._get_visual_topics"); + assert(pymessage_module); + PyObject * pymessage_class = PyObject_GetAttrString(pymessage_module, "GetVisualTopics_Response"); + assert(pymessage_class); + Py_DECREF(pymessage_module); + _pymessage = PyObject_CallObject(pymessage_class, NULL); + Py_DECREF(pymessage_class); + if (!_pymessage) { + return NULL; + } + } + bcr_bot__srv__GetVisualTopics_Response * ros_message = (bcr_bot__srv__GetVisualTopics_Response *)raw_ros_message; + { // depth_image_topics + PyObject * field = NULL; + size_t size = ros_message->depth_image_topics.size; + rosidl_runtime_c__String * src = ros_message->depth_image_topics.data; + field = PyList_New(size); + if (!field) { + return NULL; + } + for (size_t i = 0; i < size; ++i) { + PyObject * decoded_item = PyUnicode_DecodeUTF8(src[i].data, strlen(src[i].data), "replace"); + if (!decoded_item) { + return NULL; + } + int rc = PyList_SetItem(field, i, decoded_item); + (void)rc; + assert(rc == 0); + } + assert(PySequence_Check(field)); + { + int rc = PyObject_SetAttrString(_pymessage, "depth_image_topics", field); + Py_DECREF(field); + if (rc) { + return NULL; + } + } + } + { // rgb_image_topics + PyObject * field = NULL; + size_t size = ros_message->rgb_image_topics.size; + rosidl_runtime_c__String * src = ros_message->rgb_image_topics.data; + field = PyList_New(size); + if (!field) { + return NULL; + } + for (size_t i = 0; i < size; ++i) { + PyObject * decoded_item = PyUnicode_DecodeUTF8(src[i].data, strlen(src[i].data), "replace"); + if (!decoded_item) { + return NULL; + } + int rc = PyList_SetItem(field, i, decoded_item); + (void)rc; + assert(rc == 0); + } + assert(PySequence_Check(field)); + { + int rc = PyObject_SetAttrString(_pymessage, "rgb_image_topics", field); + Py_DECREF(field); + if (rc) { + return NULL; + } + } + } + { // camera_info_topics + PyObject * field = NULL; + size_t size = ros_message->camera_info_topics.size; + rosidl_runtime_c__String * src = ros_message->camera_info_topics.data; + field = PyList_New(size); + if (!field) { + return NULL; + } + for (size_t i = 0; i < size; ++i) { + PyObject * decoded_item = PyUnicode_DecodeUTF8(src[i].data, strlen(src[i].data), "replace"); + if (!decoded_item) { + return NULL; + } + int rc = PyList_SetItem(field, i, decoded_item); + (void)rc; + assert(rc == 0); + } + assert(PySequence_Check(field)); + { + int rc = PyObject_SetAttrString(_pymessage, "camera_info_topics", field); + Py_DECREF(field); + if (rc) { + return NULL; + } + } + } + { // point_cloud_topics + PyObject * field = NULL; + size_t size = ros_message->point_cloud_topics.size; + rosidl_runtime_c__String * src = ros_message->point_cloud_topics.data; + field = PyList_New(size); + if (!field) { + return NULL; + } + for (size_t i = 0; i < size; ++i) { + PyObject * decoded_item = PyUnicode_DecodeUTF8(src[i].data, strlen(src[i].data), "replace"); + if (!decoded_item) { + return NULL; + } + int rc = PyList_SetItem(field, i, decoded_item); + (void)rc; + assert(rc == 0); + } + assert(PySequence_Check(field)); + { + int rc = PyObject_SetAttrString(_pymessage, "point_cloud_topics", field); + Py_DECREF(field); + if (rc) { + return NULL; + } + } + } + + // ownership of _pymessage is transferred to the caller + return _pymessage; +} diff --git a/install/bcr_bot/share/ament_index/resource_index/package_run_dependencies/bcr_bot b/install/bcr_bot/share/ament_index/resource_index/package_run_dependencies/bcr_bot index 378eea4..5e2016d 100644 --- a/install/bcr_bot/share/ament_index/resource_index/package_run_dependencies/bcr_bot +++ b/install/bcr_bot/share/ament_index/resource_index/package_run_dependencies/bcr_bot @@ -1 +1 @@ -ament_index_python;launch;launch_ros;robot_state_publisher;xacro \ No newline at end of file +rclpy;sensor_msgs;rosidl_default_runtime;ament_index_python;launch;launch_ros;robot_state_publisher;xacro \ No newline at end of file diff --git a/install/bcr_bot/share/ament_index/resource_index/parent_prefix_path/bcr_bot b/install/bcr_bot/share/ament_index/resource_index/parent_prefix_path/bcr_bot index 0cc7af8..6350bc1 100644 --- a/install/bcr_bot/share/ament_index/resource_index/parent_prefix_path/bcr_bot +++ b/install/bcr_bot/share/ament_index/resource_index/parent_prefix_path/bcr_bot @@ -1 +1 @@ -/workspace/install/bcr_bot:/opt/ros/humble \ No newline at end of file +/opt/ros/humble \ No newline at end of file diff --git a/install/bcr_bot/share/ament_index/resource_index/rosidl_interfaces/bcr_bot b/install/bcr_bot/share/ament_index/resource_index/rosidl_interfaces/bcr_bot new file mode 100644 index 0000000..20d05dd --- /dev/null +++ b/install/bcr_bot/share/ament_index/resource_index/rosidl_interfaces/bcr_bot @@ -0,0 +1,4 @@ +srv/GetVisualTopics.idl +srv/GetVisualTopics.srv +srv/GetVisualTopics_Request.msg +srv/GetVisualTopics_Response.msg \ No newline at end of file diff --git a/install/bcr_bot/share/ament_index/resource_index/rust_packages/bcr_bot b/install/bcr_bot/share/ament_index/resource_index/rust_packages/bcr_bot new file mode 100644 index 0000000..e69de29 diff --git a/install/bcr_bot/share/bcr_bot/cmake/ament_cmake_export_dependencies-extras.cmake b/install/bcr_bot/share/bcr_bot/cmake/ament_cmake_export_dependencies-extras.cmake new file mode 100644 index 0000000..8c31531 --- /dev/null +++ b/install/bcr_bot/share/bcr_bot/cmake/ament_cmake_export_dependencies-extras.cmake @@ -0,0 +1,92 @@ +# generated from ament_cmake_export_dependencies/cmake/ament_cmake_export_dependencies-extras.cmake.in + +set(_exported_dependencies "rosidl_runtime_c;rosidl_typesupport_interface;rcutils;fastrtps_cmake_module;fastcdr;rosidl_runtime_c;rosidl_runtime_cpp;rosidl_typesupport_fastrtps_c;rosidl_typesupport_fastrtps_cpp;rosidl_typesupport_interface;rosidl_runtime_c;rosidl_typesupport_c;rosidl_typesupport_interface;rosidl_runtime_cpp;fastrtps_cmake_module;fastcdr;rmw;rosidl_runtime_c;rosidl_runtime_cpp;rosidl_typesupport_fastrtps_cpp;rosidl_typesupport_interface;rosidl_runtime_c;rosidl_runtime_cpp;rosidl_typesupport_c;rosidl_typesupport_cpp;rosidl_typesupport_interface;rosidl_default_runtime") + +find_package(ament_cmake_libraries QUIET REQUIRED) + +# find_package() all dependencies +# and append their DEFINITIONS INCLUDE_DIRS, LIBRARIES, and LINK_FLAGS +# variables to bcr_bot_DEFINITIONS, bcr_bot_INCLUDE_DIRS, +# bcr_bot_LIBRARIES, and bcr_bot_LINK_FLAGS. +# Additionally collect the direct dependency names in +# bcr_bot_DEPENDENCIES as well as the recursive dependency names +# in bcr_bot_RECURSIVE_DEPENDENCIES. +if(NOT _exported_dependencies STREQUAL "") + find_package(ament_cmake_core QUIET REQUIRED) + set(bcr_bot_DEPENDENCIES ${_exported_dependencies}) + set(bcr_bot_RECURSIVE_DEPENDENCIES ${_exported_dependencies}) + set(_libraries) + foreach(_dep ${_exported_dependencies}) + if(NOT ${_dep}_FOUND) + find_package("${_dep}" QUIET REQUIRED) + endif() + # if a package provides modern CMake interface targets use them + # exclusively assuming the classic CMake variables only exist for + # backward compatibility + set(use_modern_cmake FALSE) + if(NOT "${${_dep}_TARGETS}" STREQUAL "") + foreach(_target ${${_dep}_TARGETS}) + # only use actual targets + # in case a package uses this variable for other content + if(TARGET "${_target}") + get_target_property(_include_dirs ${_target} INTERFACE_INCLUDE_DIRECTORIES) + if(_include_dirs) + list_append_unique(bcr_bot_INCLUDE_DIRS "${_include_dirs}") + endif() + + get_target_property(_imported_configurations ${_target} IMPORTED_CONFIGURATIONS) + if(_imported_configurations) + string(TOUPPER "${_imported_configurations}" _imported_configurations) + if(DEBUG_CONFIGURATIONS) + string(TOUPPER "${DEBUG_CONFIGURATIONS}" _debug_configurations_uppercase) + else() + set(_debug_configurations_uppercase "DEBUG") + endif() + foreach(_imported_config ${_imported_configurations}) + get_target_property(_imported_implib ${_target} IMPORTED_IMPLIB_${_imported_config}) + if(_imported_implib) + set(_imported_implib_config "optimized") + if(${_imported_config} IN_LIST _debug_configurations_uppercase) + set(_imported_implib_config "debug") + endif() + list(APPEND _libraries ${_imported_implib_config} ${_imported_implib}) + else() + get_target_property(_imported_location ${_target} IMPORTED_LOCATION_${_imported_config}) + if(_imported_location) + list(APPEND _libraries "${_imported_location}") + endif() + endif() + endforeach() + endif() + + get_target_property(_link_libraries ${_target} INTERFACE_LINK_LIBRARIES) + if(_link_libraries) + list(APPEND _libraries "${_link_libraries}") + endif() + set(use_modern_cmake TRUE) + endif() + endforeach() + endif() + if(NOT use_modern_cmake) + if(${_dep}_DEFINITIONS) + list_append_unique(bcr_bot_DEFINITIONS "${${_dep}_DEFINITIONS}") + endif() + if(${_dep}_INCLUDE_DIRS) + list_append_unique(bcr_bot_INCLUDE_DIRS "${${_dep}_INCLUDE_DIRS}") + endif() + if(${_dep}_LIBRARIES) + list(APPEND _libraries "${${_dep}_LIBRARIES}") + endif() + if(${_dep}_LINK_FLAGS) + list_append_unique(bcr_bot_LINK_FLAGS "${${_dep}_LINK_FLAGS}") + endif() + if(${_dep}_RECURSIVE_DEPENDENCIES) + list_append_unique(bcr_bot_RECURSIVE_DEPENDENCIES "${${_dep}_RECURSIVE_DEPENDENCIES}") + endif() + endif() + if(_libraries) + ament_libraries_deduplicate(_libraries "${_libraries}") + list(APPEND bcr_bot_LIBRARIES "${_libraries}") + endif() + endforeach() +endif() diff --git a/install/bcr_bot/share/bcr_bot/cmake/ament_cmake_export_include_directories-extras.cmake b/install/bcr_bot/share/bcr_bot/cmake/ament_cmake_export_include_directories-extras.cmake new file mode 100644 index 0000000..d65449c --- /dev/null +++ b/install/bcr_bot/share/bcr_bot/cmake/ament_cmake_export_include_directories-extras.cmake @@ -0,0 +1,16 @@ +# generated from ament_cmake_export_include_directories/cmake/ament_cmake_export_include_directories-extras.cmake.in + +set(_exported_include_dirs "${bcr_bot_DIR}/../../../include/bcr_bot") + +# append include directories to bcr_bot_INCLUDE_DIRS +# warn about not existing paths +if(NOT _exported_include_dirs STREQUAL "") + find_package(ament_cmake_core QUIET REQUIRED) + foreach(_exported_include_dir ${_exported_include_dirs}) + if(NOT IS_DIRECTORY "${_exported_include_dir}") + message(WARNING "Package 'bcr_bot' exports the include directory '${_exported_include_dir}' which doesn't exist") + endif() + normalize_path(_exported_include_dir "${_exported_include_dir}") + list(APPEND bcr_bot_INCLUDE_DIRS "${_exported_include_dir}") + endforeach() +endif() diff --git a/install/bcr_bot/share/bcr_bot/cmake/ament_cmake_export_libraries-extras.cmake b/install/bcr_bot/share/bcr_bot/cmake/ament_cmake_export_libraries-extras.cmake new file mode 100644 index 0000000..d26da60 --- /dev/null +++ b/install/bcr_bot/share/bcr_bot/cmake/ament_cmake_export_libraries-extras.cmake @@ -0,0 +1,141 @@ +# generated from ament_cmake_export_libraries/cmake/template/ament_cmake_export_libraries.cmake.in + +set(_exported_libraries "bcr_bot__rosidl_generator_c;bcr_bot__rosidl_typesupport_c;bcr_bot__rosidl_typesupport_cpp") +set(_exported_library_names "") + +# populate bcr_bot_LIBRARIES +if(NOT _exported_libraries STREQUAL "") + # loop over libraries, either target names or absolute paths + list(LENGTH _exported_libraries _length) + set(_i 0) + while(_i LESS _length) + list(GET _exported_libraries ${_i} _arg) + + # pass linker flags along + if("${_arg}" MATCHES "^-" AND NOT "${_arg}" MATCHES "^-[l|framework]") + list(APPEND bcr_bot_LIBRARIES "${_arg}") + math(EXPR _i "${_i} + 1") + continue() + endif() + + if("${_arg}" MATCHES "^(debug|optimized|general)$") + # remember build configuration keyword + # and get following library + set(_cfg "${_arg}") + math(EXPR _i "${_i} + 1") + if(_i EQUAL _length) + message(FATAL_ERROR "Package 'bcr_bot' passes the build configuration keyword '${_cfg}' as the last exported library") + endif() + list(GET _exported_libraries ${_i} _library) + else() + # the value is a library without a build configuration keyword + set(_cfg "") + set(_library "${_arg}") + endif() + math(EXPR _i "${_i} + 1") + + if(NOT IS_ABSOLUTE "${_library}") + # search for library target relative to this CMake file + set(_lib "NOTFOUND") + find_library( + _lib NAMES "${_library}" + PATHS "${bcr_bot_DIR}/../../../lib" + NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH + ) + + if(NOT _lib) + # warn about not existing library and ignore it + message(FATAL_ERROR "Package 'bcr_bot' exports the library '${_library}' which couldn't be found") + elseif(NOT IS_ABSOLUTE "${_lib}") + # the found library must be an absolute path + message(FATAL_ERROR "Package 'bcr_bot' found the library '${_library}' at '${_lib}' which is not an absolute path") + elseif(NOT EXISTS "${_lib}") + # the found library must exist + message(FATAL_ERROR "Package 'bcr_bot' found the library '${_lib}' which doesn't exist") + else() + list(APPEND bcr_bot_LIBRARIES ${_cfg} "${_lib}") + endif() + + else() + if(NOT EXISTS "${_library}") + # the found library must exist + message(WARNING "Package 'bcr_bot' exports the library '${_library}' which doesn't exist") + else() + list(APPEND bcr_bot_LIBRARIES ${_cfg} "${_library}") + endif() + endif() + endwhile() +endif() + +# find_library() library names with optional LIBRARY_DIRS +# and add the libraries to bcr_bot_LIBRARIES +if(NOT _exported_library_names STREQUAL "") + # loop over library names + # but remember related build configuration keyword if available + list(LENGTH _exported_library_names _length) + set(_i 0) + while(_i LESS _length) + list(GET _exported_library_names ${_i} _arg) + # pass linker flags along + if("${_arg}" MATCHES "^-" AND NOT "${_arg}" MATCHES "^-[l|framework]") + list(APPEND bcr_bot_LIBRARIES "${_arg}") + math(EXPR _i "${_i} + 1") + continue() + endif() + + if("${_arg}" MATCHES "^(debug|optimized|general)$") + # remember build configuration keyword + # and get following library name + set(_cfg "${_arg}") + math(EXPR _i "${_i} + 1") + if(_i EQUAL _length) + message(FATAL_ERROR "Package 'bcr_bot' passes the build configuration keyword '${_cfg}' as the last exported target") + endif() + list(GET _exported_library_names ${_i} _library) + else() + # the value is a library target without a build configuration keyword + set(_cfg "") + set(_library "${_arg}") + endif() + math(EXPR _i "${_i} + 1") + + # extract optional LIBRARY_DIRS from library name + string(REPLACE ":" ";" _library_dirs "${_library}") + list(GET _library_dirs 0 _library_name) + list(REMOVE_AT _library_dirs 0) + + set(_lib "NOTFOUND") + if(NOT _library_dirs) + # search for library in the common locations + find_library( + _lib + NAMES "${_library_name}" + ) + if(NOT _lib) + # warn about not existing library and later ignore it + message(WARNING "Package 'bcr_bot' exports library '${_library_name}' which couldn't be found") + endif() + else() + # search for library in the specified directories + find_library( + _lib + NAMES "${_library_name}" + PATHS ${_library_dirs} + NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH + ) + if(NOT _lib) + # warn about not existing library and later ignore it + message(WARNING + "Package 'bcr_bot' exports library '${_library_name}' with LIBRARY_DIRS '${_library_dirs}' which couldn't be found") + endif() + endif() + if(_lib) + list(APPEND bcr_bot_LIBRARIES ${_cfg} "${_lib}") + endif() + endwhile() +endif() + +# TODO(dirk-thomas) deduplicate bcr_bot_LIBRARIES +# while maintaining library order +# as well as build configuration keywords +# as well as linker flags diff --git a/install/bcr_bot/share/bcr_bot/cmake/ament_cmake_export_targets-extras.cmake b/install/bcr_bot/share/bcr_bot/cmake/ament_cmake_export_targets-extras.cmake new file mode 100644 index 0000000..5fab0be --- /dev/null +++ b/install/bcr_bot/share/bcr_bot/cmake/ament_cmake_export_targets-extras.cmake @@ -0,0 +1,27 @@ +# generated from ament_cmake_export_targets/cmake/ament_cmake_export_targets-extras.cmake.in + +set(_exported_targets "export_bcr_bot__rosidl_generator_c;export_bcr_bot__rosidl_typesupport_fastrtps_c;bcr_bot__rosidl_typesupport_introspection_c;bcr_bot__rosidl_typesupport_c;export_bcr_bot__rosidl_generator_cpp;export_bcr_bot__rosidl_typesupport_fastrtps_cpp;bcr_bot__rosidl_typesupport_introspection_cpp;bcr_bot__rosidl_typesupport_cpp;export_bcr_bot__rosidl_generator_py") + +# include all exported targets +if(NOT _exported_targets STREQUAL "") + foreach(_target ${_exported_targets}) + set(_export_file "${bcr_bot_DIR}/${_target}Export.cmake") + include("${_export_file}") + + # extract the target names associated with the export + set(_regex "foreach\\((_cmake)?_expected_?[Tt]arget (IN ITEMS )?(.+)\\)") + file( + STRINGS "${_export_file}" _foreach_targets + REGEX "${_regex}") + list(LENGTH _foreach_targets _matches) + if(NOT _matches EQUAL 1) + message(FATAL_ERROR + "Failed to find exported target names in '${_export_file}'") + endif() + string(REGEX REPLACE "${_regex}" "\\3" _targets "${_foreach_targets}") + string(REPLACE " " ";" _targets "${_targets}") + list(LENGTH _targets _length) + + list(APPEND bcr_bot_TARGETS ${_targets}) + endforeach() +endif() diff --git a/install/bcr_bot/share/bcr_bot/cmake/bcr_botConfig.cmake b/install/bcr_bot/share/bcr_bot/cmake/bcr_botConfig.cmake index 65e92be..c7ae727 100644 --- a/install/bcr_bot/share/bcr_bot/cmake/bcr_botConfig.cmake +++ b/install/bcr_bot/share/bcr_bot/cmake/bcr_botConfig.cmake @@ -36,7 +36,7 @@ endif() set(bcr_bot_FOUND_AMENT_PACKAGE TRUE) # include all config extra files -set(_extras "") +set(_extras "rosidl_cmake-extras.cmake;ament_cmake_export_include_directories-extras.cmake;ament_cmake_export_libraries-extras.cmake;ament_cmake_export_targets-extras.cmake;rosidl_cmake_export_typesupport_targets-extras.cmake;ament_cmake_export_dependencies-extras.cmake;rosidl_cmake_export_typesupport_libraries-extras.cmake") foreach(_extra ${_extras}) include("${bcr_bot_DIR}/${_extra}") endforeach() diff --git a/install/bcr_bot/share/bcr_bot/cmake/bcr_bot__rosidl_typesupport_cExport-noconfig.cmake b/install/bcr_bot/share/bcr_bot/cmake/bcr_bot__rosidl_typesupport_cExport-noconfig.cmake new file mode 100644 index 0000000..b7379a2 --- /dev/null +++ b/install/bcr_bot/share/bcr_bot/cmake/bcr_bot__rosidl_typesupport_cExport-noconfig.cmake @@ -0,0 +1,20 @@ +#---------------------------------------------------------------- +# Generated CMake target import file. +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Import target "bcr_bot::bcr_bot__rosidl_typesupport_c" for configuration "" +set_property(TARGET bcr_bot::bcr_bot__rosidl_typesupport_c APPEND PROPERTY IMPORTED_CONFIGURATIONS NOCONFIG) +set_target_properties(bcr_bot::bcr_bot__rosidl_typesupport_c PROPERTIES + IMPORTED_LINK_DEPENDENT_LIBRARIES_NOCONFIG "rosidl_runtime_c::rosidl_runtime_c;rosidl_typesupport_c::rosidl_typesupport_c" + IMPORTED_LOCATION_NOCONFIG "${_IMPORT_PREFIX}/lib/libbcr_bot__rosidl_typesupport_c.so" + IMPORTED_SONAME_NOCONFIG "libbcr_bot__rosidl_typesupport_c.so" + ) + +list(APPEND _IMPORT_CHECK_TARGETS bcr_bot::bcr_bot__rosidl_typesupport_c ) +list(APPEND _IMPORT_CHECK_FILES_FOR_bcr_bot::bcr_bot__rosidl_typesupport_c "${_IMPORT_PREFIX}/lib/libbcr_bot__rosidl_typesupport_c.so" ) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) diff --git a/install/bcr_bot/share/bcr_bot/cmake/bcr_bot__rosidl_typesupport_cExport.cmake b/install/bcr_bot/share/bcr_bot/cmake/bcr_bot__rosidl_typesupport_cExport.cmake new file mode 100644 index 0000000..413e38a --- /dev/null +++ b/install/bcr_bot/share/bcr_bot/cmake/bcr_bot__rosidl_typesupport_cExport.cmake @@ -0,0 +1,114 @@ +# Generated by CMake + +if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.6) + message(FATAL_ERROR "CMake >= 2.6.0 required") +endif() +cmake_policy(PUSH) +cmake_policy(VERSION 2.6...3.20) +#---------------------------------------------------------------- +# Generated CMake target import file. +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Protect against multiple inclusion, which would fail when already imported targets are added once more. +set(_targetsDefined) +set(_targetsNotDefined) +set(_expectedTargets) +foreach(_expectedTarget bcr_bot::bcr_bot__rosidl_typesupport_c) + list(APPEND _expectedTargets ${_expectedTarget}) + if(NOT TARGET ${_expectedTarget}) + list(APPEND _targetsNotDefined ${_expectedTarget}) + endif() + if(TARGET ${_expectedTarget}) + list(APPEND _targetsDefined ${_expectedTarget}) + endif() +endforeach() +if("${_targetsDefined}" STREQUAL "${_expectedTargets}") + unset(_targetsDefined) + unset(_targetsNotDefined) + unset(_expectedTargets) + set(CMAKE_IMPORT_FILE_VERSION) + cmake_policy(POP) + return() +endif() +if(NOT "${_targetsDefined}" STREQUAL "") + message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_targetsDefined}\nTargets not yet defined: ${_targetsNotDefined}\n") +endif() +unset(_targetsDefined) +unset(_targetsNotDefined) +unset(_expectedTargets) + + +# Compute the installation prefix relative to this file. +get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +if(_IMPORT_PREFIX STREQUAL "/") + set(_IMPORT_PREFIX "") +endif() + +# Create imported target bcr_bot::bcr_bot__rosidl_typesupport_c +add_library(bcr_bot::bcr_bot__rosidl_typesupport_c SHARED IMPORTED) + +set_target_properties(bcr_bot::bcr_bot__rosidl_typesupport_c PROPERTIES + INTERFACE_LINK_LIBRARIES "bcr_bot::bcr_bot__rosidl_generator_c" +) + +if(CMAKE_VERSION VERSION_LESS 2.8.12) + message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.") +endif() + +# Load information for each installed configuration. +get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) +file(GLOB CONFIG_FILES "${_DIR}/bcr_bot__rosidl_typesupport_cExport-*.cmake") +foreach(f ${CONFIG_FILES}) + include(${f}) +endforeach() + +# Cleanup temporary variables. +set(_IMPORT_PREFIX) + +# Loop over all imported files and verify that they actually exist +foreach(target ${_IMPORT_CHECK_TARGETS} ) + foreach(file ${_IMPORT_CHECK_FILES_FOR_${target}} ) + if(NOT EXISTS "${file}" ) + message(FATAL_ERROR "The imported target \"${target}\" references the file + \"${file}\" +but this file does not exist. Possible reasons include: +* The file was deleted, renamed, or moved to another location. +* An install or uninstall procedure did not complete successfully. +* The installation package was faulty and contained + \"${CMAKE_CURRENT_LIST_FILE}\" +but not all the files it references. +") + endif() + endforeach() + unset(_IMPORT_CHECK_FILES_FOR_${target}) +endforeach() +unset(_IMPORT_CHECK_TARGETS) + +# Make sure the targets which have been exported in some other +# export set exist. +unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) +foreach(_target "bcr_bot::bcr_bot__rosidl_generator_c" ) + if(NOT TARGET "${_target}" ) + set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets "${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets} ${_target}") + endif() +endforeach() + +if(DEFINED ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) + if(CMAKE_FIND_PACKAGE_NAME) + set( ${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE) + set( ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") + else() + message(FATAL_ERROR "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") + endif() +endif() +unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) +cmake_policy(POP) diff --git a/install/bcr_bot/share/bcr_bot/cmake/bcr_bot__rosidl_typesupport_cppExport-noconfig.cmake b/install/bcr_bot/share/bcr_bot/cmake/bcr_bot__rosidl_typesupport_cppExport-noconfig.cmake new file mode 100644 index 0000000..5188562 --- /dev/null +++ b/install/bcr_bot/share/bcr_bot/cmake/bcr_bot__rosidl_typesupport_cppExport-noconfig.cmake @@ -0,0 +1,20 @@ +#---------------------------------------------------------------- +# Generated CMake target import file. +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Import target "bcr_bot::bcr_bot__rosidl_typesupport_cpp" for configuration "" +set_property(TARGET bcr_bot::bcr_bot__rosidl_typesupport_cpp APPEND PROPERTY IMPORTED_CONFIGURATIONS NOCONFIG) +set_target_properties(bcr_bot::bcr_bot__rosidl_typesupport_cpp PROPERTIES + IMPORTED_LINK_DEPENDENT_LIBRARIES_NOCONFIG "rosidl_runtime_c::rosidl_runtime_c;rosidl_typesupport_cpp::rosidl_typesupport_cpp;rosidl_typesupport_c::rosidl_typesupport_c" + IMPORTED_LOCATION_NOCONFIG "${_IMPORT_PREFIX}/lib/libbcr_bot__rosidl_typesupport_cpp.so" + IMPORTED_SONAME_NOCONFIG "libbcr_bot__rosidl_typesupport_cpp.so" + ) + +list(APPEND _IMPORT_CHECK_TARGETS bcr_bot::bcr_bot__rosidl_typesupport_cpp ) +list(APPEND _IMPORT_CHECK_FILES_FOR_bcr_bot::bcr_bot__rosidl_typesupport_cpp "${_IMPORT_PREFIX}/lib/libbcr_bot__rosidl_typesupport_cpp.so" ) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) diff --git a/install/bcr_bot/share/bcr_bot/cmake/bcr_bot__rosidl_typesupport_cppExport.cmake b/install/bcr_bot/share/bcr_bot/cmake/bcr_bot__rosidl_typesupport_cppExport.cmake new file mode 100644 index 0000000..41a98d3 --- /dev/null +++ b/install/bcr_bot/share/bcr_bot/cmake/bcr_bot__rosidl_typesupport_cppExport.cmake @@ -0,0 +1,114 @@ +# Generated by CMake + +if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.6) + message(FATAL_ERROR "CMake >= 2.6.0 required") +endif() +cmake_policy(PUSH) +cmake_policy(VERSION 2.6...3.20) +#---------------------------------------------------------------- +# Generated CMake target import file. +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Protect against multiple inclusion, which would fail when already imported targets are added once more. +set(_targetsDefined) +set(_targetsNotDefined) +set(_expectedTargets) +foreach(_expectedTarget bcr_bot::bcr_bot__rosidl_typesupport_cpp) + list(APPEND _expectedTargets ${_expectedTarget}) + if(NOT TARGET ${_expectedTarget}) + list(APPEND _targetsNotDefined ${_expectedTarget}) + endif() + if(TARGET ${_expectedTarget}) + list(APPEND _targetsDefined ${_expectedTarget}) + endif() +endforeach() +if("${_targetsDefined}" STREQUAL "${_expectedTargets}") + unset(_targetsDefined) + unset(_targetsNotDefined) + unset(_expectedTargets) + set(CMAKE_IMPORT_FILE_VERSION) + cmake_policy(POP) + return() +endif() +if(NOT "${_targetsDefined}" STREQUAL "") + message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_targetsDefined}\nTargets not yet defined: ${_targetsNotDefined}\n") +endif() +unset(_targetsDefined) +unset(_targetsNotDefined) +unset(_expectedTargets) + + +# Compute the installation prefix relative to this file. +get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +if(_IMPORT_PREFIX STREQUAL "/") + set(_IMPORT_PREFIX "") +endif() + +# Create imported target bcr_bot::bcr_bot__rosidl_typesupport_cpp +add_library(bcr_bot::bcr_bot__rosidl_typesupport_cpp SHARED IMPORTED) + +set_target_properties(bcr_bot::bcr_bot__rosidl_typesupport_cpp PROPERTIES + INTERFACE_LINK_LIBRARIES "bcr_bot::bcr_bot__rosidl_generator_cpp" +) + +if(CMAKE_VERSION VERSION_LESS 2.8.12) + message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.") +endif() + +# Load information for each installed configuration. +get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) +file(GLOB CONFIG_FILES "${_DIR}/bcr_bot__rosidl_typesupport_cppExport-*.cmake") +foreach(f ${CONFIG_FILES}) + include(${f}) +endforeach() + +# Cleanup temporary variables. +set(_IMPORT_PREFIX) + +# Loop over all imported files and verify that they actually exist +foreach(target ${_IMPORT_CHECK_TARGETS} ) + foreach(file ${_IMPORT_CHECK_FILES_FOR_${target}} ) + if(NOT EXISTS "${file}" ) + message(FATAL_ERROR "The imported target \"${target}\" references the file + \"${file}\" +but this file does not exist. Possible reasons include: +* The file was deleted, renamed, or moved to another location. +* An install or uninstall procedure did not complete successfully. +* The installation package was faulty and contained + \"${CMAKE_CURRENT_LIST_FILE}\" +but not all the files it references. +") + endif() + endforeach() + unset(_IMPORT_CHECK_FILES_FOR_${target}) +endforeach() +unset(_IMPORT_CHECK_TARGETS) + +# Make sure the targets which have been exported in some other +# export set exist. +unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) +foreach(_target "bcr_bot::bcr_bot__rosidl_generator_cpp" ) + if(NOT TARGET "${_target}" ) + set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets "${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets} ${_target}") + endif() +endforeach() + +if(DEFINED ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) + if(CMAKE_FIND_PACKAGE_NAME) + set( ${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE) + set( ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") + else() + message(FATAL_ERROR "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") + endif() +endif() +unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) +cmake_policy(POP) diff --git a/install/bcr_bot/share/bcr_bot/cmake/bcr_bot__rosidl_typesupport_introspection_cExport-noconfig.cmake b/install/bcr_bot/share/bcr_bot/cmake/bcr_bot__rosidl_typesupport_introspection_cExport-noconfig.cmake new file mode 100644 index 0000000..441b21c --- /dev/null +++ b/install/bcr_bot/share/bcr_bot/cmake/bcr_bot__rosidl_typesupport_introspection_cExport-noconfig.cmake @@ -0,0 +1,19 @@ +#---------------------------------------------------------------- +# Generated CMake target import file. +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Import target "bcr_bot::bcr_bot__rosidl_typesupport_introspection_c" for configuration "" +set_property(TARGET bcr_bot::bcr_bot__rosidl_typesupport_introspection_c APPEND PROPERTY IMPORTED_CONFIGURATIONS NOCONFIG) +set_target_properties(bcr_bot::bcr_bot__rosidl_typesupport_introspection_c PROPERTIES + IMPORTED_LOCATION_NOCONFIG "${_IMPORT_PREFIX}/lib/libbcr_bot__rosidl_typesupport_introspection_c.so" + IMPORTED_SONAME_NOCONFIG "libbcr_bot__rosidl_typesupport_introspection_c.so" + ) + +list(APPEND _IMPORT_CHECK_TARGETS bcr_bot::bcr_bot__rosidl_typesupport_introspection_c ) +list(APPEND _IMPORT_CHECK_FILES_FOR_bcr_bot::bcr_bot__rosidl_typesupport_introspection_c "${_IMPORT_PREFIX}/lib/libbcr_bot__rosidl_typesupport_introspection_c.so" ) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) diff --git a/install/bcr_bot/share/bcr_bot/cmake/bcr_bot__rosidl_typesupport_introspection_cExport.cmake b/install/bcr_bot/share/bcr_bot/cmake/bcr_bot__rosidl_typesupport_introspection_cExport.cmake new file mode 100644 index 0000000..0fe2c2c --- /dev/null +++ b/install/bcr_bot/share/bcr_bot/cmake/bcr_bot__rosidl_typesupport_introspection_cExport.cmake @@ -0,0 +1,115 @@ +# Generated by CMake + +if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.6) + message(FATAL_ERROR "CMake >= 2.6.0 required") +endif() +cmake_policy(PUSH) +cmake_policy(VERSION 2.6...3.20) +#---------------------------------------------------------------- +# Generated CMake target import file. +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Protect against multiple inclusion, which would fail when already imported targets are added once more. +set(_targetsDefined) +set(_targetsNotDefined) +set(_expectedTargets) +foreach(_expectedTarget bcr_bot::bcr_bot__rosidl_typesupport_introspection_c) + list(APPEND _expectedTargets ${_expectedTarget}) + if(NOT TARGET ${_expectedTarget}) + list(APPEND _targetsNotDefined ${_expectedTarget}) + endif() + if(TARGET ${_expectedTarget}) + list(APPEND _targetsDefined ${_expectedTarget}) + endif() +endforeach() +if("${_targetsDefined}" STREQUAL "${_expectedTargets}") + unset(_targetsDefined) + unset(_targetsNotDefined) + unset(_expectedTargets) + set(CMAKE_IMPORT_FILE_VERSION) + cmake_policy(POP) + return() +endif() +if(NOT "${_targetsDefined}" STREQUAL "") + message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_targetsDefined}\nTargets not yet defined: ${_targetsNotDefined}\n") +endif() +unset(_targetsDefined) +unset(_targetsNotDefined) +unset(_expectedTargets) + + +# Compute the installation prefix relative to this file. +get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +if(_IMPORT_PREFIX STREQUAL "/") + set(_IMPORT_PREFIX "") +endif() + +# Create imported target bcr_bot::bcr_bot__rosidl_typesupport_introspection_c +add_library(bcr_bot::bcr_bot__rosidl_typesupport_introspection_c SHARED IMPORTED) + +set_target_properties(bcr_bot::bcr_bot__rosidl_typesupport_introspection_c PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include/bcr_bot" + INTERFACE_LINK_LIBRARIES "bcr_bot::bcr_bot__rosidl_generator_c;rosidl_typesupport_introspection_c::rosidl_typesupport_introspection_c" +) + +if(CMAKE_VERSION VERSION_LESS 2.8.12) + message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.") +endif() + +# Load information for each installed configuration. +get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) +file(GLOB CONFIG_FILES "${_DIR}/bcr_bot__rosidl_typesupport_introspection_cExport-*.cmake") +foreach(f ${CONFIG_FILES}) + include(${f}) +endforeach() + +# Cleanup temporary variables. +set(_IMPORT_PREFIX) + +# Loop over all imported files and verify that they actually exist +foreach(target ${_IMPORT_CHECK_TARGETS} ) + foreach(file ${_IMPORT_CHECK_FILES_FOR_${target}} ) + if(NOT EXISTS "${file}" ) + message(FATAL_ERROR "The imported target \"${target}\" references the file + \"${file}\" +but this file does not exist. Possible reasons include: +* The file was deleted, renamed, or moved to another location. +* An install or uninstall procedure did not complete successfully. +* The installation package was faulty and contained + \"${CMAKE_CURRENT_LIST_FILE}\" +but not all the files it references. +") + endif() + endforeach() + unset(_IMPORT_CHECK_FILES_FOR_${target}) +endforeach() +unset(_IMPORT_CHECK_TARGETS) + +# Make sure the targets which have been exported in some other +# export set exist. +unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) +foreach(_target "bcr_bot::bcr_bot__rosidl_generator_c" ) + if(NOT TARGET "${_target}" ) + set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets "${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets} ${_target}") + endif() +endforeach() + +if(DEFINED ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) + if(CMAKE_FIND_PACKAGE_NAME) + set( ${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE) + set( ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") + else() + message(FATAL_ERROR "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") + endif() +endif() +unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) +cmake_policy(POP) diff --git a/install/bcr_bot/share/bcr_bot/cmake/bcr_bot__rosidl_typesupport_introspection_cppExport-noconfig.cmake b/install/bcr_bot/share/bcr_bot/cmake/bcr_bot__rosidl_typesupport_introspection_cppExport-noconfig.cmake new file mode 100644 index 0000000..1c09b04 --- /dev/null +++ b/install/bcr_bot/share/bcr_bot/cmake/bcr_bot__rosidl_typesupport_introspection_cppExport-noconfig.cmake @@ -0,0 +1,19 @@ +#---------------------------------------------------------------- +# Generated CMake target import file. +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Import target "bcr_bot::bcr_bot__rosidl_typesupport_introspection_cpp" for configuration "" +set_property(TARGET bcr_bot::bcr_bot__rosidl_typesupport_introspection_cpp APPEND PROPERTY IMPORTED_CONFIGURATIONS NOCONFIG) +set_target_properties(bcr_bot::bcr_bot__rosidl_typesupport_introspection_cpp PROPERTIES + IMPORTED_LOCATION_NOCONFIG "${_IMPORT_PREFIX}/lib/libbcr_bot__rosidl_typesupport_introspection_cpp.so" + IMPORTED_SONAME_NOCONFIG "libbcr_bot__rosidl_typesupport_introspection_cpp.so" + ) + +list(APPEND _IMPORT_CHECK_TARGETS bcr_bot::bcr_bot__rosidl_typesupport_introspection_cpp ) +list(APPEND _IMPORT_CHECK_FILES_FOR_bcr_bot::bcr_bot__rosidl_typesupport_introspection_cpp "${_IMPORT_PREFIX}/lib/libbcr_bot__rosidl_typesupport_introspection_cpp.so" ) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) diff --git a/install/bcr_bot/share/bcr_bot/cmake/bcr_bot__rosidl_typesupport_introspection_cppExport.cmake b/install/bcr_bot/share/bcr_bot/cmake/bcr_bot__rosidl_typesupport_introspection_cppExport.cmake new file mode 100644 index 0000000..99e108f --- /dev/null +++ b/install/bcr_bot/share/bcr_bot/cmake/bcr_bot__rosidl_typesupport_introspection_cppExport.cmake @@ -0,0 +1,115 @@ +# Generated by CMake + +if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.6) + message(FATAL_ERROR "CMake >= 2.6.0 required") +endif() +cmake_policy(PUSH) +cmake_policy(VERSION 2.6...3.20) +#---------------------------------------------------------------- +# Generated CMake target import file. +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Protect against multiple inclusion, which would fail when already imported targets are added once more. +set(_targetsDefined) +set(_targetsNotDefined) +set(_expectedTargets) +foreach(_expectedTarget bcr_bot::bcr_bot__rosidl_typesupport_introspection_cpp) + list(APPEND _expectedTargets ${_expectedTarget}) + if(NOT TARGET ${_expectedTarget}) + list(APPEND _targetsNotDefined ${_expectedTarget}) + endif() + if(TARGET ${_expectedTarget}) + list(APPEND _targetsDefined ${_expectedTarget}) + endif() +endforeach() +if("${_targetsDefined}" STREQUAL "${_expectedTargets}") + unset(_targetsDefined) + unset(_targetsNotDefined) + unset(_expectedTargets) + set(CMAKE_IMPORT_FILE_VERSION) + cmake_policy(POP) + return() +endif() +if(NOT "${_targetsDefined}" STREQUAL "") + message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_targetsDefined}\nTargets not yet defined: ${_targetsNotDefined}\n") +endif() +unset(_targetsDefined) +unset(_targetsNotDefined) +unset(_expectedTargets) + + +# Compute the installation prefix relative to this file. +get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +if(_IMPORT_PREFIX STREQUAL "/") + set(_IMPORT_PREFIX "") +endif() + +# Create imported target bcr_bot::bcr_bot__rosidl_typesupport_introspection_cpp +add_library(bcr_bot::bcr_bot__rosidl_typesupport_introspection_cpp SHARED IMPORTED) + +set_target_properties(bcr_bot::bcr_bot__rosidl_typesupport_introspection_cpp PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include/bcr_bot" + INTERFACE_LINK_LIBRARIES "bcr_bot::bcr_bot__rosidl_generator_cpp;rosidl_runtime_c::rosidl_runtime_c;rosidl_typesupport_interface::rosidl_typesupport_interface;rosidl_typesupport_introspection_cpp::rosidl_typesupport_introspection_cpp" +) + +if(CMAKE_VERSION VERSION_LESS 2.8.12) + message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.") +endif() + +# Load information for each installed configuration. +get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) +file(GLOB CONFIG_FILES "${_DIR}/bcr_bot__rosidl_typesupport_introspection_cppExport-*.cmake") +foreach(f ${CONFIG_FILES}) + include(${f}) +endforeach() + +# Cleanup temporary variables. +set(_IMPORT_PREFIX) + +# Loop over all imported files and verify that they actually exist +foreach(target ${_IMPORT_CHECK_TARGETS} ) + foreach(file ${_IMPORT_CHECK_FILES_FOR_${target}} ) + if(NOT EXISTS "${file}" ) + message(FATAL_ERROR "The imported target \"${target}\" references the file + \"${file}\" +but this file does not exist. Possible reasons include: +* The file was deleted, renamed, or moved to another location. +* An install or uninstall procedure did not complete successfully. +* The installation package was faulty and contained + \"${CMAKE_CURRENT_LIST_FILE}\" +but not all the files it references. +") + endif() + endforeach() + unset(_IMPORT_CHECK_FILES_FOR_${target}) +endforeach() +unset(_IMPORT_CHECK_TARGETS) + +# Make sure the targets which have been exported in some other +# export set exist. +unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) +foreach(_target "bcr_bot::bcr_bot__rosidl_generator_cpp" ) + if(NOT TARGET "${_target}" ) + set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets "${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets} ${_target}") + endif() +endforeach() + +if(DEFINED ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) + if(CMAKE_FIND_PACKAGE_NAME) + set( ${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE) + set( ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") + else() + message(FATAL_ERROR "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") + endif() +endif() +unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) +cmake_policy(POP) diff --git a/install/bcr_bot/share/bcr_bot/cmake/export_bcr_bot__rosidl_generator_cExport-noconfig.cmake b/install/bcr_bot/share/bcr_bot/cmake/export_bcr_bot__rosidl_generator_cExport-noconfig.cmake new file mode 100644 index 0000000..44a36c2 --- /dev/null +++ b/install/bcr_bot/share/bcr_bot/cmake/export_bcr_bot__rosidl_generator_cExport-noconfig.cmake @@ -0,0 +1,19 @@ +#---------------------------------------------------------------- +# Generated CMake target import file. +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Import target "bcr_bot::bcr_bot__rosidl_generator_c" for configuration "" +set_property(TARGET bcr_bot::bcr_bot__rosidl_generator_c APPEND PROPERTY IMPORTED_CONFIGURATIONS NOCONFIG) +set_target_properties(bcr_bot::bcr_bot__rosidl_generator_c PROPERTIES + IMPORTED_LOCATION_NOCONFIG "${_IMPORT_PREFIX}/lib/libbcr_bot__rosidl_generator_c.so" + IMPORTED_SONAME_NOCONFIG "libbcr_bot__rosidl_generator_c.so" + ) + +list(APPEND _IMPORT_CHECK_TARGETS bcr_bot::bcr_bot__rosidl_generator_c ) +list(APPEND _IMPORT_CHECK_FILES_FOR_bcr_bot::bcr_bot__rosidl_generator_c "${_IMPORT_PREFIX}/lib/libbcr_bot__rosidl_generator_c.so" ) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) diff --git a/install/bcr_bot/share/bcr_bot/cmake/export_bcr_bot__rosidl_generator_cExport.cmake b/install/bcr_bot/share/bcr_bot/cmake/export_bcr_bot__rosidl_generator_cExport.cmake new file mode 100644 index 0000000..2f1e383 --- /dev/null +++ b/install/bcr_bot/share/bcr_bot/cmake/export_bcr_bot__rosidl_generator_cExport.cmake @@ -0,0 +1,99 @@ +# Generated by CMake + +if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.6) + message(FATAL_ERROR "CMake >= 2.6.0 required") +endif() +cmake_policy(PUSH) +cmake_policy(VERSION 2.6...3.20) +#---------------------------------------------------------------- +# Generated CMake target import file. +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Protect against multiple inclusion, which would fail when already imported targets are added once more. +set(_targetsDefined) +set(_targetsNotDefined) +set(_expectedTargets) +foreach(_expectedTarget bcr_bot::bcr_bot__rosidl_generator_c) + list(APPEND _expectedTargets ${_expectedTarget}) + if(NOT TARGET ${_expectedTarget}) + list(APPEND _targetsNotDefined ${_expectedTarget}) + endif() + if(TARGET ${_expectedTarget}) + list(APPEND _targetsDefined ${_expectedTarget}) + endif() +endforeach() +if("${_targetsDefined}" STREQUAL "${_expectedTargets}") + unset(_targetsDefined) + unset(_targetsNotDefined) + unset(_expectedTargets) + set(CMAKE_IMPORT_FILE_VERSION) + cmake_policy(POP) + return() +endif() +if(NOT "${_targetsDefined}" STREQUAL "") + message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_targetsDefined}\nTargets not yet defined: ${_targetsNotDefined}\n") +endif() +unset(_targetsDefined) +unset(_targetsNotDefined) +unset(_expectedTargets) + + +# Compute the installation prefix relative to this file. +get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +if(_IMPORT_PREFIX STREQUAL "/") + set(_IMPORT_PREFIX "") +endif() + +# Create imported target bcr_bot::bcr_bot__rosidl_generator_c +add_library(bcr_bot::bcr_bot__rosidl_generator_c SHARED IMPORTED) + +set_target_properties(bcr_bot::bcr_bot__rosidl_generator_c PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include/bcr_bot" + INTERFACE_LINK_LIBRARIES "rosidl_runtime_c::rosidl_runtime_c;rosidl_typesupport_interface::rosidl_typesupport_interface;rcutils::rcutils" +) + +if(CMAKE_VERSION VERSION_LESS 2.8.12) + message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.") +endif() + +# Load information for each installed configuration. +get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) +file(GLOB CONFIG_FILES "${_DIR}/export_bcr_bot__rosidl_generator_cExport-*.cmake") +foreach(f ${CONFIG_FILES}) + include(${f}) +endforeach() + +# Cleanup temporary variables. +set(_IMPORT_PREFIX) + +# Loop over all imported files and verify that they actually exist +foreach(target ${_IMPORT_CHECK_TARGETS} ) + foreach(file ${_IMPORT_CHECK_FILES_FOR_${target}} ) + if(NOT EXISTS "${file}" ) + message(FATAL_ERROR "The imported target \"${target}\" references the file + \"${file}\" +but this file does not exist. Possible reasons include: +* The file was deleted, renamed, or moved to another location. +* An install or uninstall procedure did not complete successfully. +* The installation package was faulty and contained + \"${CMAKE_CURRENT_LIST_FILE}\" +but not all the files it references. +") + endif() + endforeach() + unset(_IMPORT_CHECK_FILES_FOR_${target}) +endforeach() +unset(_IMPORT_CHECK_TARGETS) + +# This file does not depend on other imported targets which have +# been exported from the same project but in a separate export set. + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) +cmake_policy(POP) diff --git a/install/bcr_bot/share/bcr_bot/cmake/export_bcr_bot__rosidl_generator_cppExport.cmake b/install/bcr_bot/share/bcr_bot/cmake/export_bcr_bot__rosidl_generator_cppExport.cmake new file mode 100644 index 0000000..11139bb --- /dev/null +++ b/install/bcr_bot/share/bcr_bot/cmake/export_bcr_bot__rosidl_generator_cppExport.cmake @@ -0,0 +1,99 @@ +# Generated by CMake + +if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.6) + message(FATAL_ERROR "CMake >= 2.6.0 required") +endif() +cmake_policy(PUSH) +cmake_policy(VERSION 2.6...3.20) +#---------------------------------------------------------------- +# Generated CMake target import file. +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Protect against multiple inclusion, which would fail when already imported targets are added once more. +set(_targetsDefined) +set(_targetsNotDefined) +set(_expectedTargets) +foreach(_expectedTarget bcr_bot::bcr_bot__rosidl_generator_cpp) + list(APPEND _expectedTargets ${_expectedTarget}) + if(NOT TARGET ${_expectedTarget}) + list(APPEND _targetsNotDefined ${_expectedTarget}) + endif() + if(TARGET ${_expectedTarget}) + list(APPEND _targetsDefined ${_expectedTarget}) + endif() +endforeach() +if("${_targetsDefined}" STREQUAL "${_expectedTargets}") + unset(_targetsDefined) + unset(_targetsNotDefined) + unset(_expectedTargets) + set(CMAKE_IMPORT_FILE_VERSION) + cmake_policy(POP) + return() +endif() +if(NOT "${_targetsDefined}" STREQUAL "") + message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_targetsDefined}\nTargets not yet defined: ${_targetsNotDefined}\n") +endif() +unset(_targetsDefined) +unset(_targetsNotDefined) +unset(_expectedTargets) + + +# Compute the installation prefix relative to this file. +get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +if(_IMPORT_PREFIX STREQUAL "/") + set(_IMPORT_PREFIX "") +endif() + +# Create imported target bcr_bot::bcr_bot__rosidl_generator_cpp +add_library(bcr_bot::bcr_bot__rosidl_generator_cpp INTERFACE IMPORTED) + +set_target_properties(bcr_bot::bcr_bot__rosidl_generator_cpp PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include/bcr_bot" + INTERFACE_LINK_LIBRARIES "rosidl_runtime_cpp::rosidl_runtime_cpp" +) + +if(CMAKE_VERSION VERSION_LESS 3.0.0) + message(FATAL_ERROR "This file relies on consumers using CMake 3.0.0 or greater.") +endif() + +# Load information for each installed configuration. +get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) +file(GLOB CONFIG_FILES "${_DIR}/export_bcr_bot__rosidl_generator_cppExport-*.cmake") +foreach(f ${CONFIG_FILES}) + include(${f}) +endforeach() + +# Cleanup temporary variables. +set(_IMPORT_PREFIX) + +# Loop over all imported files and verify that they actually exist +foreach(target ${_IMPORT_CHECK_TARGETS} ) + foreach(file ${_IMPORT_CHECK_FILES_FOR_${target}} ) + if(NOT EXISTS "${file}" ) + message(FATAL_ERROR "The imported target \"${target}\" references the file + \"${file}\" +but this file does not exist. Possible reasons include: +* The file was deleted, renamed, or moved to another location. +* An install or uninstall procedure did not complete successfully. +* The installation package was faulty and contained + \"${CMAKE_CURRENT_LIST_FILE}\" +but not all the files it references. +") + endif() + endforeach() + unset(_IMPORT_CHECK_FILES_FOR_${target}) +endforeach() +unset(_IMPORT_CHECK_TARGETS) + +# This file does not depend on other imported targets which have +# been exported from the same project but in a separate export set. + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) +cmake_policy(POP) diff --git a/install/bcr_bot/share/bcr_bot/cmake/export_bcr_bot__rosidl_generator_pyExport-noconfig.cmake b/install/bcr_bot/share/bcr_bot/cmake/export_bcr_bot__rosidl_generator_pyExport-noconfig.cmake new file mode 100644 index 0000000..1e66962 --- /dev/null +++ b/install/bcr_bot/share/bcr_bot/cmake/export_bcr_bot__rosidl_generator_pyExport-noconfig.cmake @@ -0,0 +1,19 @@ +#---------------------------------------------------------------- +# Generated CMake target import file. +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Import target "bcr_bot::bcr_bot__rosidl_generator_py" for configuration "" +set_property(TARGET bcr_bot::bcr_bot__rosidl_generator_py APPEND PROPERTY IMPORTED_CONFIGURATIONS NOCONFIG) +set_target_properties(bcr_bot::bcr_bot__rosidl_generator_py PROPERTIES + IMPORTED_LOCATION_NOCONFIG "${_IMPORT_PREFIX}/lib/libbcr_bot__rosidl_generator_py.so" + IMPORTED_SONAME_NOCONFIG "libbcr_bot__rosidl_generator_py.so" + ) + +list(APPEND _IMPORT_CHECK_TARGETS bcr_bot::bcr_bot__rosidl_generator_py ) +list(APPEND _IMPORT_CHECK_FILES_FOR_bcr_bot::bcr_bot__rosidl_generator_py "${_IMPORT_PREFIX}/lib/libbcr_bot__rosidl_generator_py.so" ) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) diff --git a/install/bcr_bot/share/bcr_bot/cmake/export_bcr_bot__rosidl_generator_pyExport.cmake b/install/bcr_bot/share/bcr_bot/cmake/export_bcr_bot__rosidl_generator_pyExport.cmake new file mode 100644 index 0000000..13bad07 --- /dev/null +++ b/install/bcr_bot/share/bcr_bot/cmake/export_bcr_bot__rosidl_generator_pyExport.cmake @@ -0,0 +1,114 @@ +# Generated by CMake + +if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.6) + message(FATAL_ERROR "CMake >= 2.6.0 required") +endif() +cmake_policy(PUSH) +cmake_policy(VERSION 2.6...3.20) +#---------------------------------------------------------------- +# Generated CMake target import file. +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Protect against multiple inclusion, which would fail when already imported targets are added once more. +set(_targetsDefined) +set(_targetsNotDefined) +set(_expectedTargets) +foreach(_expectedTarget bcr_bot::bcr_bot__rosidl_generator_py) + list(APPEND _expectedTargets ${_expectedTarget}) + if(NOT TARGET ${_expectedTarget}) + list(APPEND _targetsNotDefined ${_expectedTarget}) + endif() + if(TARGET ${_expectedTarget}) + list(APPEND _targetsDefined ${_expectedTarget}) + endif() +endforeach() +if("${_targetsDefined}" STREQUAL "${_expectedTargets}") + unset(_targetsDefined) + unset(_targetsNotDefined) + unset(_expectedTargets) + set(CMAKE_IMPORT_FILE_VERSION) + cmake_policy(POP) + return() +endif() +if(NOT "${_targetsDefined}" STREQUAL "") + message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_targetsDefined}\nTargets not yet defined: ${_targetsNotDefined}\n") +endif() +unset(_targetsDefined) +unset(_targetsNotDefined) +unset(_expectedTargets) + + +# Compute the installation prefix relative to this file. +get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +if(_IMPORT_PREFIX STREQUAL "/") + set(_IMPORT_PREFIX "") +endif() + +# Create imported target bcr_bot::bcr_bot__rosidl_generator_py +add_library(bcr_bot::bcr_bot__rosidl_generator_py SHARED IMPORTED) + +set_target_properties(bcr_bot::bcr_bot__rosidl_generator_py PROPERTIES + INTERFACE_LINK_LIBRARIES "bcr_bot::bcr_bot__rosidl_generator_c;/usr/lib/x86_64-linux-gnu/libpython3.10.so;bcr_bot::bcr_bot__rosidl_typesupport_c" +) + +if(CMAKE_VERSION VERSION_LESS 2.8.12) + message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.") +endif() + +# Load information for each installed configuration. +get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) +file(GLOB CONFIG_FILES "${_DIR}/export_bcr_bot__rosidl_generator_pyExport-*.cmake") +foreach(f ${CONFIG_FILES}) + include(${f}) +endforeach() + +# Cleanup temporary variables. +set(_IMPORT_PREFIX) + +# Loop over all imported files and verify that they actually exist +foreach(target ${_IMPORT_CHECK_TARGETS} ) + foreach(file ${_IMPORT_CHECK_FILES_FOR_${target}} ) + if(NOT EXISTS "${file}" ) + message(FATAL_ERROR "The imported target \"${target}\" references the file + \"${file}\" +but this file does not exist. Possible reasons include: +* The file was deleted, renamed, or moved to another location. +* An install or uninstall procedure did not complete successfully. +* The installation package was faulty and contained + \"${CMAKE_CURRENT_LIST_FILE}\" +but not all the files it references. +") + endif() + endforeach() + unset(_IMPORT_CHECK_FILES_FOR_${target}) +endforeach() +unset(_IMPORT_CHECK_TARGETS) + +# Make sure the targets which have been exported in some other +# export set exist. +unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) +foreach(_target "bcr_bot::bcr_bot__rosidl_generator_c" "bcr_bot::bcr_bot__rosidl_typesupport_c" ) + if(NOT TARGET "${_target}" ) + set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets "${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets} ${_target}") + endif() +endforeach() + +if(DEFINED ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) + if(CMAKE_FIND_PACKAGE_NAME) + set( ${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE) + set( ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") + else() + message(FATAL_ERROR "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") + endif() +endif() +unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) +cmake_policy(POP) diff --git a/install/bcr_bot/share/bcr_bot/cmake/export_bcr_bot__rosidl_typesupport_fastrtps_cExport-noconfig.cmake b/install/bcr_bot/share/bcr_bot/cmake/export_bcr_bot__rosidl_typesupport_fastrtps_cExport-noconfig.cmake new file mode 100644 index 0000000..e756278 --- /dev/null +++ b/install/bcr_bot/share/bcr_bot/cmake/export_bcr_bot__rosidl_typesupport_fastrtps_cExport-noconfig.cmake @@ -0,0 +1,19 @@ +#---------------------------------------------------------------- +# Generated CMake target import file. +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Import target "bcr_bot::bcr_bot__rosidl_typesupport_fastrtps_c" for configuration "" +set_property(TARGET bcr_bot::bcr_bot__rosidl_typesupport_fastrtps_c APPEND PROPERTY IMPORTED_CONFIGURATIONS NOCONFIG) +set_target_properties(bcr_bot::bcr_bot__rosidl_typesupport_fastrtps_c PROPERTIES + IMPORTED_LOCATION_NOCONFIG "${_IMPORT_PREFIX}/lib/libbcr_bot__rosidl_typesupport_fastrtps_c.so" + IMPORTED_SONAME_NOCONFIG "libbcr_bot__rosidl_typesupport_fastrtps_c.so" + ) + +list(APPEND _IMPORT_CHECK_TARGETS bcr_bot::bcr_bot__rosidl_typesupport_fastrtps_c ) +list(APPEND _IMPORT_CHECK_FILES_FOR_bcr_bot::bcr_bot__rosidl_typesupport_fastrtps_c "${_IMPORT_PREFIX}/lib/libbcr_bot__rosidl_typesupport_fastrtps_c.so" ) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) diff --git a/install/bcr_bot/share/bcr_bot/cmake/export_bcr_bot__rosidl_typesupport_fastrtps_cExport.cmake b/install/bcr_bot/share/bcr_bot/cmake/export_bcr_bot__rosidl_typesupport_fastrtps_cExport.cmake new file mode 100644 index 0000000..99cae0a --- /dev/null +++ b/install/bcr_bot/share/bcr_bot/cmake/export_bcr_bot__rosidl_typesupport_fastrtps_cExport.cmake @@ -0,0 +1,115 @@ +# Generated by CMake + +if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.6) + message(FATAL_ERROR "CMake >= 2.6.0 required") +endif() +cmake_policy(PUSH) +cmake_policy(VERSION 2.6...3.20) +#---------------------------------------------------------------- +# Generated CMake target import file. +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Protect against multiple inclusion, which would fail when already imported targets are added once more. +set(_targetsDefined) +set(_targetsNotDefined) +set(_expectedTargets) +foreach(_expectedTarget bcr_bot::bcr_bot__rosidl_typesupport_fastrtps_c) + list(APPEND _expectedTargets ${_expectedTarget}) + if(NOT TARGET ${_expectedTarget}) + list(APPEND _targetsNotDefined ${_expectedTarget}) + endif() + if(TARGET ${_expectedTarget}) + list(APPEND _targetsDefined ${_expectedTarget}) + endif() +endforeach() +if("${_targetsDefined}" STREQUAL "${_expectedTargets}") + unset(_targetsDefined) + unset(_targetsNotDefined) + unset(_expectedTargets) + set(CMAKE_IMPORT_FILE_VERSION) + cmake_policy(POP) + return() +endif() +if(NOT "${_targetsDefined}" STREQUAL "") + message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_targetsDefined}\nTargets not yet defined: ${_targetsNotDefined}\n") +endif() +unset(_targetsDefined) +unset(_targetsNotDefined) +unset(_expectedTargets) + + +# Compute the installation prefix relative to this file. +get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +if(_IMPORT_PREFIX STREQUAL "/") + set(_IMPORT_PREFIX "") +endif() + +# Create imported target bcr_bot::bcr_bot__rosidl_typesupport_fastrtps_c +add_library(bcr_bot::bcr_bot__rosidl_typesupport_fastrtps_c SHARED IMPORTED) + +set_target_properties(bcr_bot::bcr_bot__rosidl_typesupport_fastrtps_c PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include/bcr_bot" + INTERFACE_LINK_LIBRARIES "fastcdr;rosidl_runtime_c::rosidl_runtime_c;rosidl_runtime_cpp::rosidl_runtime_cpp;rosidl_typesupport_interface::rosidl_typesupport_interface;rosidl_typesupport_fastrtps_cpp::rosidl_typesupport_fastrtps_cpp;rosidl_typesupport_fastrtps_c::rosidl_typesupport_fastrtps_c;bcr_bot::bcr_bot__rosidl_generator_c" +) + +if(CMAKE_VERSION VERSION_LESS 2.8.12) + message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.") +endif() + +# Load information for each installed configuration. +get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) +file(GLOB CONFIG_FILES "${_DIR}/export_bcr_bot__rosidl_typesupport_fastrtps_cExport-*.cmake") +foreach(f ${CONFIG_FILES}) + include(${f}) +endforeach() + +# Cleanup temporary variables. +set(_IMPORT_PREFIX) + +# Loop over all imported files and verify that they actually exist +foreach(target ${_IMPORT_CHECK_TARGETS} ) + foreach(file ${_IMPORT_CHECK_FILES_FOR_${target}} ) + if(NOT EXISTS "${file}" ) + message(FATAL_ERROR "The imported target \"${target}\" references the file + \"${file}\" +but this file does not exist. Possible reasons include: +* The file was deleted, renamed, or moved to another location. +* An install or uninstall procedure did not complete successfully. +* The installation package was faulty and contained + \"${CMAKE_CURRENT_LIST_FILE}\" +but not all the files it references. +") + endif() + endforeach() + unset(_IMPORT_CHECK_FILES_FOR_${target}) +endforeach() +unset(_IMPORT_CHECK_TARGETS) + +# Make sure the targets which have been exported in some other +# export set exist. +unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) +foreach(_target "bcr_bot::bcr_bot__rosidl_generator_c" ) + if(NOT TARGET "${_target}" ) + set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets "${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets} ${_target}") + endif() +endforeach() + +if(DEFINED ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) + if(CMAKE_FIND_PACKAGE_NAME) + set( ${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE) + set( ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") + else() + message(FATAL_ERROR "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") + endif() +endif() +unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) +cmake_policy(POP) diff --git a/install/bcr_bot/share/bcr_bot/cmake/export_bcr_bot__rosidl_typesupport_fastrtps_cppExport-noconfig.cmake b/install/bcr_bot/share/bcr_bot/cmake/export_bcr_bot__rosidl_typesupport_fastrtps_cppExport-noconfig.cmake new file mode 100644 index 0000000..31207a3 --- /dev/null +++ b/install/bcr_bot/share/bcr_bot/cmake/export_bcr_bot__rosidl_typesupport_fastrtps_cppExport-noconfig.cmake @@ -0,0 +1,19 @@ +#---------------------------------------------------------------- +# Generated CMake target import file. +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Import target "bcr_bot::bcr_bot__rosidl_typesupport_fastrtps_cpp" for configuration "" +set_property(TARGET bcr_bot::bcr_bot__rosidl_typesupport_fastrtps_cpp APPEND PROPERTY IMPORTED_CONFIGURATIONS NOCONFIG) +set_target_properties(bcr_bot::bcr_bot__rosidl_typesupport_fastrtps_cpp PROPERTIES + IMPORTED_LOCATION_NOCONFIG "${_IMPORT_PREFIX}/lib/libbcr_bot__rosidl_typesupport_fastrtps_cpp.so" + IMPORTED_SONAME_NOCONFIG "libbcr_bot__rosidl_typesupport_fastrtps_cpp.so" + ) + +list(APPEND _IMPORT_CHECK_TARGETS bcr_bot::bcr_bot__rosidl_typesupport_fastrtps_cpp ) +list(APPEND _IMPORT_CHECK_FILES_FOR_bcr_bot::bcr_bot__rosidl_typesupport_fastrtps_cpp "${_IMPORT_PREFIX}/lib/libbcr_bot__rosidl_typesupport_fastrtps_cpp.so" ) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) diff --git a/install/bcr_bot/share/bcr_bot/cmake/export_bcr_bot__rosidl_typesupport_fastrtps_cppExport.cmake b/install/bcr_bot/share/bcr_bot/cmake/export_bcr_bot__rosidl_typesupport_fastrtps_cppExport.cmake new file mode 100644 index 0000000..14bdc1e --- /dev/null +++ b/install/bcr_bot/share/bcr_bot/cmake/export_bcr_bot__rosidl_typesupport_fastrtps_cppExport.cmake @@ -0,0 +1,115 @@ +# Generated by CMake + +if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.6) + message(FATAL_ERROR "CMake >= 2.6.0 required") +endif() +cmake_policy(PUSH) +cmake_policy(VERSION 2.6...3.20) +#---------------------------------------------------------------- +# Generated CMake target import file. +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Protect against multiple inclusion, which would fail when already imported targets are added once more. +set(_targetsDefined) +set(_targetsNotDefined) +set(_expectedTargets) +foreach(_expectedTarget bcr_bot::bcr_bot__rosidl_typesupport_fastrtps_cpp) + list(APPEND _expectedTargets ${_expectedTarget}) + if(NOT TARGET ${_expectedTarget}) + list(APPEND _targetsNotDefined ${_expectedTarget}) + endif() + if(TARGET ${_expectedTarget}) + list(APPEND _targetsDefined ${_expectedTarget}) + endif() +endforeach() +if("${_targetsDefined}" STREQUAL "${_expectedTargets}") + unset(_targetsDefined) + unset(_targetsNotDefined) + unset(_expectedTargets) + set(CMAKE_IMPORT_FILE_VERSION) + cmake_policy(POP) + return() +endif() +if(NOT "${_targetsDefined}" STREQUAL "") + message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_targetsDefined}\nTargets not yet defined: ${_targetsNotDefined}\n") +endif() +unset(_targetsDefined) +unset(_targetsNotDefined) +unset(_expectedTargets) + + +# Compute the installation prefix relative to this file. +get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +if(_IMPORT_PREFIX STREQUAL "/") + set(_IMPORT_PREFIX "") +endif() + +# Create imported target bcr_bot::bcr_bot__rosidl_typesupport_fastrtps_cpp +add_library(bcr_bot::bcr_bot__rosidl_typesupport_fastrtps_cpp SHARED IMPORTED) + +set_target_properties(bcr_bot::bcr_bot__rosidl_typesupport_fastrtps_cpp PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include/bcr_bot" + INTERFACE_LINK_LIBRARIES "fastcdr;rmw::rmw;rosidl_runtime_c::rosidl_runtime_c;rosidl_runtime_cpp::rosidl_runtime_cpp;rosidl_typesupport_interface::rosidl_typesupport_interface;rosidl_typesupport_fastrtps_cpp::rosidl_typesupport_fastrtps_cpp;bcr_bot::bcr_bot__rosidl_generator_cpp" +) + +if(CMAKE_VERSION VERSION_LESS 2.8.12) + message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.") +endif() + +# Load information for each installed configuration. +get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) +file(GLOB CONFIG_FILES "${_DIR}/export_bcr_bot__rosidl_typesupport_fastrtps_cppExport-*.cmake") +foreach(f ${CONFIG_FILES}) + include(${f}) +endforeach() + +# Cleanup temporary variables. +set(_IMPORT_PREFIX) + +# Loop over all imported files and verify that they actually exist +foreach(target ${_IMPORT_CHECK_TARGETS} ) + foreach(file ${_IMPORT_CHECK_FILES_FOR_${target}} ) + if(NOT EXISTS "${file}" ) + message(FATAL_ERROR "The imported target \"${target}\" references the file + \"${file}\" +but this file does not exist. Possible reasons include: +* The file was deleted, renamed, or moved to another location. +* An install or uninstall procedure did not complete successfully. +* The installation package was faulty and contained + \"${CMAKE_CURRENT_LIST_FILE}\" +but not all the files it references. +") + endif() + endforeach() + unset(_IMPORT_CHECK_FILES_FOR_${target}) +endforeach() +unset(_IMPORT_CHECK_TARGETS) + +# Make sure the targets which have been exported in some other +# export set exist. +unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) +foreach(_target "bcr_bot::bcr_bot__rosidl_generator_cpp" ) + if(NOT TARGET "${_target}" ) + set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets "${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets} ${_target}") + endif() +endforeach() + +if(DEFINED ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) + if(CMAKE_FIND_PACKAGE_NAME) + set( ${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE) + set( ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") + else() + message(FATAL_ERROR "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") + endif() +endif() +unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) +cmake_policy(POP) diff --git a/install/bcr_bot/share/bcr_bot/cmake/rosidl_cmake-extras.cmake b/install/bcr_bot/share/bcr_bot/cmake/rosidl_cmake-extras.cmake new file mode 100644 index 0000000..126b08a --- /dev/null +++ b/install/bcr_bot/share/bcr_bot/cmake/rosidl_cmake-extras.cmake @@ -0,0 +1,4 @@ +# generated from rosidl_cmake/cmake/rosidl_cmake-extras.cmake.in + +set(bcr_bot_IDL_FILES "srv/GetVisualTopics.idl") +set(bcr_bot_INTERFACE_FILES "srv/GetVisualTopics.srv;srv/GetVisualTopics_Request.msg;srv/GetVisualTopics_Response.msg") diff --git a/install/bcr_bot/share/bcr_bot/cmake/rosidl_cmake_export_typesupport_libraries-extras.cmake b/install/bcr_bot/share/bcr_bot/cmake/rosidl_cmake_export_typesupport_libraries-extras.cmake new file mode 100644 index 0000000..67f592e --- /dev/null +++ b/install/bcr_bot/share/bcr_bot/cmake/rosidl_cmake_export_typesupport_libraries-extras.cmake @@ -0,0 +1,49 @@ +# generated from +# rosidl_cmake/cmake/template/rosidl_cmake_export_typesupport_libraries.cmake.in + +set(_exported_typesupport_libraries + "__rosidl_typesupport_fastrtps_c:bcr_bot__rosidl_typesupport_fastrtps_c;__rosidl_typesupport_fastrtps_cpp:bcr_bot__rosidl_typesupport_fastrtps_cpp") + +# populate bcr_bot_LIBRARIES_ +if(NOT _exported_typesupport_libraries STREQUAL "") + # loop over typesupport libraries + foreach(_tuple ${_exported_typesupport_libraries}) + string(REPLACE ":" ";" _tuple "${_tuple}") + list(GET _tuple 0 _suffix) + list(GET _tuple 1 _library) + + if(NOT IS_ABSOLUTE "${_library}") + # search for library target relative to this CMake file + set(_lib "NOTFOUND") + find_library( + _lib NAMES "${_library}" + PATHS "${bcr_bot_DIR}/../../../lib" + NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH + ) + + if(NOT _lib) + # the library wasn't found + message(FATAL_ERROR + "Package 'bcr_bot' exports the typesupport library '${_library}' which couldn't be found") + elseif(NOT IS_ABSOLUTE "${_lib}") + # the found library must be an absolute path + message(FATAL_ERROR + "Package 'bcr_bot' found the typesupport library '${_library}' at '${_lib}' " + "which is not an absolute path") + elseif(NOT EXISTS "${_lib}") + # the found library must exist + message(FATAL_ERROR "Package 'bcr_bot' found the typesupport library '${_lib}' which doesn't exist") + else() + list(APPEND bcr_bot_LIBRARIES${_suffix} ${_cfg} "${_lib}") + endif() + + else() + if(NOT EXISTS "${_library}") + # the found library must exist + message(WARNING "Package 'bcr_bot' exports the typesupport library '${_library}' which doesn't exist") + else() + list(APPEND bcr_bot_LIBRARIES${_suffix} "${_library}") + endif() + endif() + endforeach() +endif() diff --git a/install/bcr_bot/share/bcr_bot/cmake/rosidl_cmake_export_typesupport_targets-extras.cmake b/install/bcr_bot/share/bcr_bot/cmake/rosidl_cmake_export_typesupport_targets-extras.cmake new file mode 100644 index 0000000..595ea1b --- /dev/null +++ b/install/bcr_bot/share/bcr_bot/cmake/rosidl_cmake_export_typesupport_targets-extras.cmake @@ -0,0 +1,23 @@ +# generated from +# rosidl_cmake/cmake/template/rosidl_cmake_export_typesupport_targets.cmake.in + +set(_exported_typesupport_targets + "__rosidl_generator_c:bcr_bot__rosidl_generator_c;__rosidl_typesupport_fastrtps_c:bcr_bot__rosidl_typesupport_fastrtps_c;__rosidl_typesupport_introspection_c:bcr_bot__rosidl_typesupport_introspection_c;__rosidl_typesupport_c:bcr_bot__rosidl_typesupport_c;__rosidl_generator_cpp:bcr_bot__rosidl_generator_cpp;__rosidl_typesupport_fastrtps_cpp:bcr_bot__rosidl_typesupport_fastrtps_cpp;__rosidl_typesupport_introspection_cpp:bcr_bot__rosidl_typesupport_introspection_cpp;__rosidl_typesupport_cpp:bcr_bot__rosidl_typesupport_cpp;__rosidl_generator_py:bcr_bot__rosidl_generator_py") + +# populate bcr_bot_TARGETS_ +if(NOT _exported_typesupport_targets STREQUAL "") + # loop over typesupport targets + foreach(_tuple ${_exported_typesupport_targets}) + string(REPLACE ":" ";" _tuple "${_tuple}") + list(GET _tuple 0 _suffix) + list(GET _tuple 1 _target) + + set(_target "bcr_bot::${_target}") + if(NOT TARGET "${_target}") + # the exported target must exist + message(WARNING "Package 'bcr_bot' exports the typesupport target '${_target}' which doesn't exist") + else() + list(APPEND bcr_bot_TARGETS${_suffix} "${_target}") + endif() + endforeach() +endif() diff --git a/install/bcr_bot/share/bcr_bot/environment/library_path.dsv b/install/bcr_bot/share/bcr_bot/environment/library_path.dsv new file mode 100644 index 0000000..89bec93 --- /dev/null +++ b/install/bcr_bot/share/bcr_bot/environment/library_path.dsv @@ -0,0 +1 @@ +prepend-non-duplicate;LD_LIBRARY_PATH;lib diff --git a/install/bcr_bot/share/bcr_bot/environment/library_path.sh b/install/bcr_bot/share/bcr_bot/environment/library_path.sh new file mode 100644 index 0000000..292e518 --- /dev/null +++ b/install/bcr_bot/share/bcr_bot/environment/library_path.sh @@ -0,0 +1,16 @@ +# copied from ament_package/template/environment_hook/library_path.sh + +# detect if running on Darwin platform +_UNAME=`uname -s` +_IS_DARWIN=0 +if [ "$_UNAME" = "Darwin" ]; then + _IS_DARWIN=1 +fi +unset _UNAME + +if [ $_IS_DARWIN -eq 0 ]; then + ament_prepend_unique_value LD_LIBRARY_PATH "$AMENT_CURRENT_PREFIX/lib" +else + ament_prepend_unique_value DYLD_LIBRARY_PATH "$AMENT_CURRENT_PREFIX/lib" +fi +unset _IS_DARWIN diff --git a/install/bcr_bot/share/bcr_bot/environment/pythonpath.dsv b/install/bcr_bot/share/bcr_bot/environment/pythonpath.dsv new file mode 100644 index 0000000..2407605 --- /dev/null +++ b/install/bcr_bot/share/bcr_bot/environment/pythonpath.dsv @@ -0,0 +1 @@ +prepend-non-duplicate;PYTHONPATH;local/lib/python3.10/dist-packages diff --git a/install/bcr_bot/share/bcr_bot/environment/pythonpath.sh b/install/bcr_bot/share/bcr_bot/environment/pythonpath.sh new file mode 100644 index 0000000..579f269 --- /dev/null +++ b/install/bcr_bot/share/bcr_bot/environment/pythonpath.sh @@ -0,0 +1,3 @@ +# generated from ament_package/template/environment_hook/pythonpath.sh.in + +ament_prepend_unique_value PYTHONPATH "$AMENT_CURRENT_PREFIX/local/lib/python3.10/dist-packages" diff --git a/install/bcr_bot/share/bcr_bot/hook/ld_library_path_lib.dsv b/install/bcr_bot/share/bcr_bot/hook/ld_library_path_lib.dsv new file mode 100644 index 0000000..89bec93 --- /dev/null +++ b/install/bcr_bot/share/bcr_bot/hook/ld_library_path_lib.dsv @@ -0,0 +1 @@ +prepend-non-duplicate;LD_LIBRARY_PATH;lib diff --git a/install/bcr_bot/share/bcr_bot/hook/ld_library_path_lib.ps1 b/install/bcr_bot/share/bcr_bot/hook/ld_library_path_lib.ps1 new file mode 100644 index 0000000..86de1ee --- /dev/null +++ b/install/bcr_bot/share/bcr_bot/hook/ld_library_path_lib.ps1 @@ -0,0 +1,3 @@ +# generated from colcon_powershell/shell/template/hook_prepend_value.ps1.em + +colcon_prepend_unique_value LD_LIBRARY_PATH "$env:COLCON_CURRENT_PREFIX/lib" diff --git a/install/bcr_bot/share/bcr_bot/hook/ld_library_path_lib.sh b/install/bcr_bot/share/bcr_bot/hook/ld_library_path_lib.sh new file mode 100644 index 0000000..ca3c102 --- /dev/null +++ b/install/bcr_bot/share/bcr_bot/hook/ld_library_path_lib.sh @@ -0,0 +1,3 @@ +# generated from colcon_core/shell/template/hook_prepend_value.sh.em + +_colcon_prepend_unique_value LD_LIBRARY_PATH "$COLCON_CURRENT_PREFIX/lib" diff --git a/install/bcr_bot/share/bcr_bot/launch/bcr_bot_gazebo_spawn.launch.py b/install/bcr_bot/share/bcr_bot/launch/bcr_bot_gazebo_spawn.launch.py index 9cc11f5..eb61507 100644 --- a/install/bcr_bot/share/bcr_bot/launch/bcr_bot_gazebo_spawn.launch.py +++ b/install/bcr_bot/share/bcr_bot/launch/bcr_bot_gazebo_spawn.launch.py @@ -25,7 +25,7 @@ def generate_launch_description(): position_y = LaunchConfiguration("position_y") orientation_yaw = LaunchConfiguration("orientation_yaw") camera_enabled = LaunchConfiguration("camera_enabled", default=True) - stereo_camera_enabled = LaunchConfiguration("stereo_camera_enabled", default=False) + stereo_camera_enabled = LaunchConfiguration("stereo_camera_enabled", default=True) two_d_lidar_enabled = LaunchConfiguration("two_d_lidar_enabled", default=True) odometry_source = LaunchConfiguration("odometry_source", default="world") robot_namespace = LaunchConfiguration("robot_namespace", default='bcr_bot') diff --git a/install/bcr_bot/share/bcr_bot/launch/bcr_bot_gz_spawn.launch.py b/install/bcr_bot/share/bcr_bot/launch/bcr_bot_gz_spawn.launch.py index 6faec90..3be3750 100644 --- a/install/bcr_bot/share/bcr_bot/launch/bcr_bot_gz_spawn.launch.py +++ b/install/bcr_bot/share/bcr_bot/launch/bcr_bot_gz_spawn.launch.py @@ -23,7 +23,7 @@ def generate_launch_description(): position_y = LaunchConfiguration("position_y") orientation_yaw = LaunchConfiguration("orientation_yaw") camera_enabled = LaunchConfiguration("camera_enabled", default=True) - stereo_camera_enabled = LaunchConfiguration("stereo_camera_enabled", default=False) + stereo_camera_enabled = LaunchConfiguration("stereo_camera_enabled", default=True) two_d_lidar_enabled = LaunchConfiguration("two_d_lidar_enabled", default=True) odometry_source = LaunchConfiguration("odometry_source") @@ -126,4 +126,4 @@ def generate_launch_description(): DeclareLaunchArgument("odometry_source", default_value="world"), robot_state_publisher, gz_spawn_entity, transform_publisher, gz_ros2_bridge - ]) \ No newline at end of file + ]) diff --git a/install/bcr_bot/share/bcr_bot/launch/bcr_bot_ign_spawn.launch.py b/install/bcr_bot/share/bcr_bot/launch/bcr_bot_ign_spawn.launch.py index e7671d3..ba7ee63 100644 --- a/install/bcr_bot/share/bcr_bot/launch/bcr_bot_ign_spawn.launch.py +++ b/install/bcr_bot/share/bcr_bot/launch/bcr_bot_ign_spawn.launch.py @@ -23,7 +23,7 @@ def generate_launch_description(): position_y = LaunchConfiguration("position_y") orientation_yaw = LaunchConfiguration("orientation_yaw") camera_enabled = LaunchConfiguration("camera_enabled", default=True) - stereo_camera_enabled = LaunchConfiguration("stereo_camera_enabled", default=False) + stereo_camera_enabled = LaunchConfiguration("stereo_camera_enabled", default=True) two_d_lidar_enabled = LaunchConfiguration("two_d_lidar_enabled", default=True) odometry_source = LaunchConfiguration("odometry_source") diff --git a/install/bcr_bot/share/bcr_bot/local_setup.dsv b/install/bcr_bot/share/bcr_bot/local_setup.dsv index 3007c51..580cc47 100644 --- a/install/bcr_bot/share/bcr_bot/local_setup.dsv +++ b/install/bcr_bot/share/bcr_bot/local_setup.dsv @@ -1,2 +1,4 @@ source;share/bcr_bot/environment/ament_prefix_path.sh +source;share/bcr_bot/environment/library_path.sh source;share/bcr_bot/environment/path.sh +source;share/bcr_bot/environment/pythonpath.sh diff --git a/install/bcr_bot/share/bcr_bot/local_setup.sh b/install/bcr_bot/share/bcr_bot/local_setup.sh index 7ebdbcf..dce9daa 100644 --- a/install/bcr_bot/share/bcr_bot/local_setup.sh +++ b/install/bcr_bot/share/bcr_bot/local_setup.sh @@ -152,7 +152,9 @@ fi # list all environment hooks of this package ament_append_value AMENT_ENVIRONMENT_HOOKS "$AMENT_CURRENT_PREFIX/share/bcr_bot/environment/ament_prefix_path.sh" +ament_append_value AMENT_ENVIRONMENT_HOOKS "$AMENT_CURRENT_PREFIX/share/bcr_bot/environment/library_path.sh" ament_append_value AMENT_ENVIRONMENT_HOOKS "$AMENT_CURRENT_PREFIX/share/bcr_bot/environment/path.sh" +ament_append_value AMENT_ENVIRONMENT_HOOKS "$AMENT_CURRENT_PREFIX/share/bcr_bot/environment/pythonpath.sh" # source all shell-specific environment hooks of this package # if not returning them diff --git a/install/bcr_bot/share/bcr_bot/package.dsv b/install/bcr_bot/share/bcr_bot/package.dsv index c00acbd..9b351ca 100644 --- a/install/bcr_bot/share/bcr_bot/package.dsv +++ b/install/bcr_bot/share/bcr_bot/package.dsv @@ -1,6 +1,9 @@ source;share/bcr_bot/hook/cmake_prefix_path.ps1 source;share/bcr_bot/hook/cmake_prefix_path.dsv source;share/bcr_bot/hook/cmake_prefix_path.sh +source;share/bcr_bot/hook/ld_library_path_lib.ps1 +source;share/bcr_bot/hook/ld_library_path_lib.dsv +source;share/bcr_bot/hook/ld_library_path_lib.sh source;share/bcr_bot/local_setup.bash source;share/bcr_bot/local_setup.dsv source;share/bcr_bot/local_setup.ps1 diff --git a/install/bcr_bot/share/bcr_bot/package.ps1 b/install/bcr_bot/share/bcr_bot/package.ps1 index 866d303..55306ca 100644 --- a/install/bcr_bot/share/bcr_bot/package.ps1 +++ b/install/bcr_bot/share/bcr_bot/package.ps1 @@ -111,6 +111,7 @@ function colcon_package_source_powershell_script { $env:COLCON_CURRENT_PREFIX=(Get-Item $PSCommandPath).Directory.Parent.Parent.FullName colcon_package_source_powershell_script "$env:COLCON_CURRENT_PREFIX/share/bcr_bot/hook/cmake_prefix_path.ps1" +colcon_package_source_powershell_script "$env:COLCON_CURRENT_PREFIX/share/bcr_bot/hook/ld_library_path_lib.ps1" colcon_package_source_powershell_script "$env:COLCON_CURRENT_PREFIX/share/bcr_bot/local_setup.ps1" Remove-Item Env:\COLCON_CURRENT_PREFIX diff --git a/install/bcr_bot/share/bcr_bot/package.sh b/install/bcr_bot/share/bcr_bot/package.sh index 75f9026..ba19e3d 100644 --- a/install/bcr_bot/share/bcr_bot/package.sh +++ b/install/bcr_bot/share/bcr_bot/package.sh @@ -79,6 +79,7 @@ _colcon_package_sh_source_script() { # source sh hooks _colcon_package_sh_source_script "$COLCON_CURRENT_PREFIX/share/bcr_bot/hook/cmake_prefix_path.sh" +_colcon_package_sh_source_script "$COLCON_CURRENT_PREFIX/share/bcr_bot/hook/ld_library_path_lib.sh" _colcon_package_sh_source_script "$COLCON_CURRENT_PREFIX/share/bcr_bot/local_setup.sh" unset _colcon_package_sh_source_script diff --git a/install/bcr_bot/share/bcr_bot/package.xml b/install/bcr_bot/share/bcr_bot/package.xml index 4f3afc9..f1ad468 100644 --- a/install/bcr_bot/share/bcr_bot/package.xml +++ b/install/bcr_bot/share/bcr_bot/package.xml @@ -1,5 +1,5 @@ - + bcr_bot 1.0.2 bcr_bot @@ -10,6 +10,12 @@ Apache License 2.0 ament_cmake + rosidl_default_generators + + rclpy + sensor_msgs + rosidl_default_runtime + rosidl_interface_packages ament_index_python launch diff --git a/install/bcr_bot/share/bcr_bot/rust/Cargo.toml b/install/bcr_bot/share/bcr_bot/rust/Cargo.toml new file mode 100644 index 0000000..3c5909c --- /dev/null +++ b/install/bcr_bot/share/bcr_bot/rust/Cargo.toml @@ -0,0 +1,17 @@ +[package] +name = "bcr_bot" +version = "1.0.2" +edition = "2021" + +[dependencies] +rosidl_runtime_rs = "0.6" +serde = { version = "1", optional = true, features = ["derive"] } +serde-big-array = { version = "0.5.1", optional = true } + +# ROS Dependencies + +[features] +serde = ['dep:serde', 'dep:serde-big-array', 'rosidl_runtime_rs/serde'] + +[package.metadata.rclrs] +reexport = true diff --git a/install/bcr_bot/share/bcr_bot/rust/build.rs b/install/bcr_bot/share/bcr_bot/rust/build.rs new file mode 100644 index 0000000..be2bf00 --- /dev/null +++ b/install/bcr_bot/share/bcr_bot/rust/build.rs @@ -0,0 +1,10 @@ +// use std::path::Path; + +fn main() { + // let lib_dir = Path::new("../../../lib") + // .canonicalize() + // .expect("Could not find '../../../lib'"); + // // This allows building Rust packages that depend on message crates without + // // sourcing the install directory first. + // println!("cargo:rustc-link-search={}", lib_dir.display()); +} diff --git a/install/bcr_bot/share/bcr_bot/rust/src/lib.rs b/install/bcr_bot/share/bcr_bot/rust/src/lib.rs new file mode 100644 index 0000000..5f3bd00 --- /dev/null +++ b/install/bcr_bot/share/bcr_bot/rust/src/lib.rs @@ -0,0 +1,12 @@ +#![allow(non_camel_case_types)] +#![allow(clippy::derive_partial_eq_without_eq)] +#![allow(clippy::upper_case_acronyms)] + + +#[path = "srv.rs"] +mod srv_idiomatic; +pub mod srv { + pub use super::srv_idiomatic::*; + pub mod rmw; +} + diff --git a/install/bcr_bot/share/bcr_bot/rust/src/srv.rs b/install/bcr_bot/share/bcr_bot/rust/src/srv.rs new file mode 100644 index 0000000..1828d63 --- /dev/null +++ b/install/bcr_bot/share/bcr_bot/rust/src/srv.rs @@ -0,0 +1,182 @@ +#[cfg(feature = "serde")] +use serde::{Deserialize, Serialize}; + + + + +// Corresponds to bcr_bot__srv__GetVisualTopics_Request + +// This struct is not documented. +#[allow(missing_docs)] + +#[allow(non_camel_case_types)] +#[cfg_attr(feature = "serde", derive(Deserialize, Serialize))] +#[derive(Clone, Debug, PartialEq, PartialOrd)] +pub struct GetVisualTopics_Request { + + // This member is not documented. + #[allow(missing_docs)] + pub refresh: bool, + +} + + + +impl Default for GetVisualTopics_Request { + fn default() -> Self { + ::from_rmw_message(super::srv::rmw::GetVisualTopics_Request::default()) + } +} + +impl rosidl_runtime_rs::Message for GetVisualTopics_Request { + type RmwMsg = super::srv::rmw::GetVisualTopics_Request; + + fn into_rmw_message(msg_cow: std::borrow::Cow<'_, Self>) -> std::borrow::Cow<'_, Self::RmwMsg> { + match msg_cow { + std::borrow::Cow::Owned(msg) => std::borrow::Cow::Owned(Self::RmwMsg { + refresh: msg.refresh, + }), + std::borrow::Cow::Borrowed(msg) => std::borrow::Cow::Owned(Self::RmwMsg { + refresh: msg.refresh, + }) + } + } + + fn from_rmw_message(msg: Self::RmwMsg) -> Self { + Self { + refresh: msg.refresh, + } + } +} + + +// Corresponds to bcr_bot__srv__GetVisualTopics_Response + +// This struct is not documented. +#[allow(missing_docs)] + +#[allow(non_camel_case_types)] +#[cfg_attr(feature = "serde", derive(Deserialize, Serialize))] +#[derive(Clone, Debug, PartialEq, PartialOrd)] +pub struct GetVisualTopics_Response { + + // This member is not documented. + #[allow(missing_docs)] + pub depth_image_topics: Vec, + + + // This member is not documented. + #[allow(missing_docs)] + pub rgb_image_topics: Vec, + + + // This member is not documented. + #[allow(missing_docs)] + pub camera_info_topics: Vec, + + + // This member is not documented. + #[allow(missing_docs)] + pub point_cloud_topics: Vec, + +} + + + +impl Default for GetVisualTopics_Response { + fn default() -> Self { + ::from_rmw_message(super::srv::rmw::GetVisualTopics_Response::default()) + } +} + +impl rosidl_runtime_rs::Message for GetVisualTopics_Response { + type RmwMsg = super::srv::rmw::GetVisualTopics_Response; + + fn into_rmw_message(msg_cow: std::borrow::Cow<'_, Self>) -> std::borrow::Cow<'_, Self::RmwMsg> { + match msg_cow { + std::borrow::Cow::Owned(msg) => std::borrow::Cow::Owned(Self::RmwMsg { + depth_image_topics: msg.depth_image_topics + .into_iter() + .map(|elem| elem.as_str().into()) + .collect(), + rgb_image_topics: msg.rgb_image_topics + .into_iter() + .map(|elem| elem.as_str().into()) + .collect(), + camera_info_topics: msg.camera_info_topics + .into_iter() + .map(|elem| elem.as_str().into()) + .collect(), + point_cloud_topics: msg.point_cloud_topics + .into_iter() + .map(|elem| elem.as_str().into()) + .collect(), + }), + std::borrow::Cow::Borrowed(msg) => std::borrow::Cow::Owned(Self::RmwMsg { + depth_image_topics: msg.depth_image_topics + .iter() + .map(|elem| elem.as_str().into()) + .collect(), + rgb_image_topics: msg.rgb_image_topics + .iter() + .map(|elem| elem.as_str().into()) + .collect(), + camera_info_topics: msg.camera_info_topics + .iter() + .map(|elem| elem.as_str().into()) + .collect(), + point_cloud_topics: msg.point_cloud_topics + .iter() + .map(|elem| elem.as_str().into()) + .collect(), + }) + } + } + + fn from_rmw_message(msg: Self::RmwMsg) -> Self { + Self { + depth_image_topics: msg.depth_image_topics + .into_iter() + .map(|elem| elem.to_string()) + .collect(), + rgb_image_topics: msg.rgb_image_topics + .into_iter() + .map(|elem| elem.to_string()) + .collect(), + camera_info_topics: msg.camera_info_topics + .into_iter() + .map(|elem| elem.to_string()) + .collect(), + point_cloud_topics: msg.point_cloud_topics + .into_iter() + .map(|elem| elem.to_string()) + .collect(), + } + } +} + + + + + + +#[link(name = "bcr_bot__rosidl_typesupport_c")] +extern "C" { + fn rosidl_typesupport_c__get_service_type_support_handle__bcr_bot__srv__GetVisualTopics() -> *const std::ffi::c_void; +} + +// Corresponds to bcr_bot__srv__GetVisualTopics +#[allow(missing_docs, non_camel_case_types)] +pub struct GetVisualTopics; + +impl rosidl_runtime_rs::Service for GetVisualTopics { + type Request = GetVisualTopics_Request; + type Response = GetVisualTopics_Response; + + fn get_type_support() -> *const std::ffi::c_void { + // SAFETY: No preconditions for this function. + unsafe { rosidl_typesupport_c__get_service_type_support_handle__bcr_bot__srv__GetVisualTopics() } + } +} + + diff --git a/install/bcr_bot/share/bcr_bot/rust/src/srv/rmw.rs b/install/bcr_bot/share/bcr_bot/rust/src/srv/rmw.rs new file mode 100644 index 0000000..4d52a04 --- /dev/null +++ b/install/bcr_bot/share/bcr_bot/rust/src/srv/rmw.rs @@ -0,0 +1,194 @@ +#[cfg(feature = "serde")] +use serde::{Deserialize, Serialize}; + + + +#[link(name = "bcr_bot__rosidl_typesupport_c")] +extern "C" { + fn rosidl_typesupport_c__get_message_type_support_handle__bcr_bot__srv__GetVisualTopics_Request() -> *const std::ffi::c_void; +} + +#[link(name = "bcr_bot__rosidl_generator_c")] +extern "C" { + fn bcr_bot__srv__GetVisualTopics_Request__init(msg: *mut GetVisualTopics_Request) -> bool; + fn bcr_bot__srv__GetVisualTopics_Request__Sequence__init(seq: *mut rosidl_runtime_rs::Sequence, size: usize) -> bool; + fn bcr_bot__srv__GetVisualTopics_Request__Sequence__fini(seq: *mut rosidl_runtime_rs::Sequence); + fn bcr_bot__srv__GetVisualTopics_Request__Sequence__copy(in_seq: &rosidl_runtime_rs::Sequence, out_seq: *mut rosidl_runtime_rs::Sequence) -> bool; +} + +// Corresponds to bcr_bot__srv__GetVisualTopics_Request +#[cfg_attr(feature = "serde", derive(Deserialize, Serialize))] + + +// This struct is not documented. +#[allow(missing_docs)] + +#[allow(non_camel_case_types)] +#[repr(C)] +#[derive(Clone, Debug, PartialEq, PartialOrd)] +pub struct GetVisualTopics_Request { + + // This member is not documented. + #[allow(missing_docs)] + pub refresh: bool, + +} + + + +impl Default for GetVisualTopics_Request { + fn default() -> Self { + unsafe { + let mut msg = std::mem::zeroed(); + if !bcr_bot__srv__GetVisualTopics_Request__init(&mut msg as *mut _) { + panic!("Call to bcr_bot__srv__GetVisualTopics_Request__init() failed"); + } + msg + } + } +} + +impl rosidl_runtime_rs::SequenceAlloc for GetVisualTopics_Request { + fn sequence_init(seq: &mut rosidl_runtime_rs::Sequence, size: usize) -> bool { + // SAFETY: This is safe since the pointer is guaranteed to be valid/initialized. + unsafe { bcr_bot__srv__GetVisualTopics_Request__Sequence__init(seq as *mut _, size) } + } + fn sequence_fini(seq: &mut rosidl_runtime_rs::Sequence) { + // SAFETY: This is safe since the pointer is guaranteed to be valid/initialized. + unsafe { bcr_bot__srv__GetVisualTopics_Request__Sequence__fini(seq as *mut _) } + } + fn sequence_copy(in_seq: &rosidl_runtime_rs::Sequence, out_seq: &mut rosidl_runtime_rs::Sequence) -> bool { + // SAFETY: This is safe since the pointer is guaranteed to be valid/initialized. + unsafe { bcr_bot__srv__GetVisualTopics_Request__Sequence__copy(in_seq, out_seq as *mut _) } + } +} + +impl rosidl_runtime_rs::Message for GetVisualTopics_Request { + type RmwMsg = Self; + fn into_rmw_message(msg_cow: std::borrow::Cow<'_, Self>) -> std::borrow::Cow<'_, Self::RmwMsg> { msg_cow } + fn from_rmw_message(msg: Self::RmwMsg) -> Self { msg } +} + +impl rosidl_runtime_rs::RmwMessage for GetVisualTopics_Request where Self: Sized { + const TYPE_NAME: &'static str = "bcr_bot/srv/GetVisualTopics_Request"; + fn get_type_support() -> *const std::ffi::c_void { + // SAFETY: No preconditions for this function. + unsafe { rosidl_typesupport_c__get_message_type_support_handle__bcr_bot__srv__GetVisualTopics_Request() } + } +} + + +#[link(name = "bcr_bot__rosidl_typesupport_c")] +extern "C" { + fn rosidl_typesupport_c__get_message_type_support_handle__bcr_bot__srv__GetVisualTopics_Response() -> *const std::ffi::c_void; +} + +#[link(name = "bcr_bot__rosidl_generator_c")] +extern "C" { + fn bcr_bot__srv__GetVisualTopics_Response__init(msg: *mut GetVisualTopics_Response) -> bool; + fn bcr_bot__srv__GetVisualTopics_Response__Sequence__init(seq: *mut rosidl_runtime_rs::Sequence, size: usize) -> bool; + fn bcr_bot__srv__GetVisualTopics_Response__Sequence__fini(seq: *mut rosidl_runtime_rs::Sequence); + fn bcr_bot__srv__GetVisualTopics_Response__Sequence__copy(in_seq: &rosidl_runtime_rs::Sequence, out_seq: *mut rosidl_runtime_rs::Sequence) -> bool; +} + +// Corresponds to bcr_bot__srv__GetVisualTopics_Response +#[cfg_attr(feature = "serde", derive(Deserialize, Serialize))] + + +// This struct is not documented. +#[allow(missing_docs)] + +#[allow(non_camel_case_types)] +#[repr(C)] +#[derive(Clone, Debug, PartialEq, PartialOrd)] +pub struct GetVisualTopics_Response { + + // This member is not documented. + #[allow(missing_docs)] + pub depth_image_topics: rosidl_runtime_rs::Sequence, + + + // This member is not documented. + #[allow(missing_docs)] + pub rgb_image_topics: rosidl_runtime_rs::Sequence, + + + // This member is not documented. + #[allow(missing_docs)] + pub camera_info_topics: rosidl_runtime_rs::Sequence, + + + // This member is not documented. + #[allow(missing_docs)] + pub point_cloud_topics: rosidl_runtime_rs::Sequence, + +} + + + +impl Default for GetVisualTopics_Response { + fn default() -> Self { + unsafe { + let mut msg = std::mem::zeroed(); + if !bcr_bot__srv__GetVisualTopics_Response__init(&mut msg as *mut _) { + panic!("Call to bcr_bot__srv__GetVisualTopics_Response__init() failed"); + } + msg + } + } +} + +impl rosidl_runtime_rs::SequenceAlloc for GetVisualTopics_Response { + fn sequence_init(seq: &mut rosidl_runtime_rs::Sequence, size: usize) -> bool { + // SAFETY: This is safe since the pointer is guaranteed to be valid/initialized. + unsafe { bcr_bot__srv__GetVisualTopics_Response__Sequence__init(seq as *mut _, size) } + } + fn sequence_fini(seq: &mut rosidl_runtime_rs::Sequence) { + // SAFETY: This is safe since the pointer is guaranteed to be valid/initialized. + unsafe { bcr_bot__srv__GetVisualTopics_Response__Sequence__fini(seq as *mut _) } + } + fn sequence_copy(in_seq: &rosidl_runtime_rs::Sequence, out_seq: &mut rosidl_runtime_rs::Sequence) -> bool { + // SAFETY: This is safe since the pointer is guaranteed to be valid/initialized. + unsafe { bcr_bot__srv__GetVisualTopics_Response__Sequence__copy(in_seq, out_seq as *mut _) } + } +} + +impl rosidl_runtime_rs::Message for GetVisualTopics_Response { + type RmwMsg = Self; + fn into_rmw_message(msg_cow: std::borrow::Cow<'_, Self>) -> std::borrow::Cow<'_, Self::RmwMsg> { msg_cow } + fn from_rmw_message(msg: Self::RmwMsg) -> Self { msg } +} + +impl rosidl_runtime_rs::RmwMessage for GetVisualTopics_Response where Self: Sized { + const TYPE_NAME: &'static str = "bcr_bot/srv/GetVisualTopics_Response"; + fn get_type_support() -> *const std::ffi::c_void { + // SAFETY: No preconditions for this function. + unsafe { rosidl_typesupport_c__get_message_type_support_handle__bcr_bot__srv__GetVisualTopics_Response() } + } +} + + + + + + +#[link(name = "bcr_bot__rosidl_typesupport_c")] +extern "C" { + fn rosidl_typesupport_c__get_service_type_support_handle__bcr_bot__srv__GetVisualTopics() -> *const std::ffi::c_void; +} + +// Corresponds to bcr_bot__srv__GetVisualTopics +#[allow(missing_docs, non_camel_case_types)] +pub struct GetVisualTopics; + +impl rosidl_runtime_rs::Service for GetVisualTopics { + type Request = GetVisualTopics_Request; + type Response = GetVisualTopics_Response; + + fn get_type_support() -> *const std::ffi::c_void { + // SAFETY: No preconditions for this function. + unsafe { rosidl_typesupport_c__get_service_type_support_handle__bcr_bot__srv__GetVisualTopics() } + } +} + + diff --git a/install/bcr_bot/share/bcr_bot/srv/GetVisualTopics.idl b/install/bcr_bot/share/bcr_bot/srv/GetVisualTopics.idl new file mode 100644 index 0000000..66f9a8f --- /dev/null +++ b/install/bcr_bot/share/bcr_bot/srv/GetVisualTopics.idl @@ -0,0 +1,23 @@ +// generated from rosidl_adapter/resource/srv.idl.em +// with input from bcr_bot/srv/GetVisualTopics.srv +// generated code does not contain a copyright notice + + +module bcr_bot { + module srv { + @verbatim (language="comment", text= + "Set true to rescan the ROS graph before returning the cached result.") + struct GetVisualTopics_Request { + boolean refresh; + }; + struct GetVisualTopics_Response { + sequence depth_image_topics; + + sequence rgb_image_topics; + + sequence camera_info_topics; + + sequence point_cloud_topics; + }; + }; +}; diff --git a/install/bcr_bot/share/bcr_bot/srv/GetVisualTopics.srv b/install/bcr_bot/share/bcr_bot/srv/GetVisualTopics.srv new file mode 100644 index 0000000..12c0ca6 --- /dev/null +++ b/install/bcr_bot/share/bcr_bot/srv/GetVisualTopics.srv @@ -0,0 +1,9 @@ +# Set true to rescan the ROS graph before returning the cached result. +bool refresh + +--- + +string[] depth_image_topics +string[] rgb_image_topics +string[] camera_info_topics +string[] point_cloud_topics diff --git a/install/bcr_bot/share/bcr_bot/srv/GetVisualTopics_Request.msg b/install/bcr_bot/share/bcr_bot/srv/GetVisualTopics_Request.msg new file mode 100644 index 0000000..c4e6c6b --- /dev/null +++ b/install/bcr_bot/share/bcr_bot/srv/GetVisualTopics_Request.msg @@ -0,0 +1,3 @@ +# Set true to rescan the ROS graph before returning the cached result. +bool refresh + diff --git a/install/bcr_bot/share/bcr_bot/srv/GetVisualTopics_Response.msg b/install/bcr_bot/share/bcr_bot/srv/GetVisualTopics_Response.msg new file mode 100644 index 0000000..be5d137 --- /dev/null +++ b/install/bcr_bot/share/bcr_bot/srv/GetVisualTopics_Response.msg @@ -0,0 +1,6 @@ + + +string[] depth_image_topics +string[] rgb_image_topics +string[] camera_info_topics +string[] point_cloud_topics diff --git a/install/bcr_bot/share/bcr_bot/urdf/bcr_bot.xacro b/install/bcr_bot/share/bcr_bot/urdf/bcr_bot.xacro index 7cac6a9..0575ce4 100644 --- a/install/bcr_bot/share/bcr_bot/urdf/bcr_bot.xacro +++ b/install/bcr_bot/share/bcr_bot/urdf/bcr_bot.xacro @@ -38,7 +38,7 @@ - + diff --git a/install/bcr_bot/share/colcon-core/packages/bcr_bot b/install/bcr_bot/share/colcon-core/packages/bcr_bot index 65fca71..9e6c77c 100644 --- a/install/bcr_bot/share/colcon-core/packages/bcr_bot +++ b/install/bcr_bot/share/colcon-core/packages/bcr_bot @@ -1 +1 @@ -ament_index_python:launch:launch_ros:robot_state_publisher:xacro \ No newline at end of file +ament_index_python:launch:launch_ros:rclpy:robot_state_publisher:rosidl_default_runtime:sensor_msgs:xacro \ No newline at end of file diff --git a/src/bcr_bot/launch/bcr_bot_gazebo_spawn.launch.py b/src/bcr_bot/launch/bcr_bot_gazebo_spawn.launch.py index 9cc11f5..eb61507 100644 --- a/src/bcr_bot/launch/bcr_bot_gazebo_spawn.launch.py +++ b/src/bcr_bot/launch/bcr_bot_gazebo_spawn.launch.py @@ -25,7 +25,7 @@ def generate_launch_description(): position_y = LaunchConfiguration("position_y") orientation_yaw = LaunchConfiguration("orientation_yaw") camera_enabled = LaunchConfiguration("camera_enabled", default=True) - stereo_camera_enabled = LaunchConfiguration("stereo_camera_enabled", default=False) + stereo_camera_enabled = LaunchConfiguration("stereo_camera_enabled", default=True) two_d_lidar_enabled = LaunchConfiguration("two_d_lidar_enabled", default=True) odometry_source = LaunchConfiguration("odometry_source", default="world") robot_namespace = LaunchConfiguration("robot_namespace", default='bcr_bot') diff --git a/src/bcr_bot/launch/bcr_bot_gz_spawn.launch.py b/src/bcr_bot/launch/bcr_bot_gz_spawn.launch.py index 6faec90..3be3750 100644 --- a/src/bcr_bot/launch/bcr_bot_gz_spawn.launch.py +++ b/src/bcr_bot/launch/bcr_bot_gz_spawn.launch.py @@ -23,7 +23,7 @@ def generate_launch_description(): position_y = LaunchConfiguration("position_y") orientation_yaw = LaunchConfiguration("orientation_yaw") camera_enabled = LaunchConfiguration("camera_enabled", default=True) - stereo_camera_enabled = LaunchConfiguration("stereo_camera_enabled", default=False) + stereo_camera_enabled = LaunchConfiguration("stereo_camera_enabled", default=True) two_d_lidar_enabled = LaunchConfiguration("two_d_lidar_enabled", default=True) odometry_source = LaunchConfiguration("odometry_source") @@ -126,4 +126,4 @@ def generate_launch_description(): DeclareLaunchArgument("odometry_source", default_value="world"), robot_state_publisher, gz_spawn_entity, transform_publisher, gz_ros2_bridge - ]) \ No newline at end of file + ]) diff --git a/src/bcr_bot/launch/bcr_bot_ign_spawn.launch.py b/src/bcr_bot/launch/bcr_bot_ign_spawn.launch.py index e7671d3..ba7ee63 100644 --- a/src/bcr_bot/launch/bcr_bot_ign_spawn.launch.py +++ b/src/bcr_bot/launch/bcr_bot_ign_spawn.launch.py @@ -23,7 +23,7 @@ def generate_launch_description(): position_y = LaunchConfiguration("position_y") orientation_yaw = LaunchConfiguration("orientation_yaw") camera_enabled = LaunchConfiguration("camera_enabled", default=True) - stereo_camera_enabled = LaunchConfiguration("stereo_camera_enabled", default=False) + stereo_camera_enabled = LaunchConfiguration("stereo_camera_enabled", default=True) two_d_lidar_enabled = LaunchConfiguration("two_d_lidar_enabled", default=True) odometry_source = LaunchConfiguration("odometry_source") diff --git a/src/bcr_bot/scripts/visual_topic_classifier.py b/src/bcr_bot/scripts/visual_topic_classifier.py index d4fa701..f92087c 100644 --- a/src/bcr_bot/scripts/visual_topic_classifier.py +++ b/src/bcr_bot/scripts/visual_topic_classifier.py @@ -6,7 +6,7 @@ from collections import defaultdict import rclpy from rclpy.node import Node from rclpy.qos import DurabilityPolicy, QoSProfile, ReliabilityPolicy -from sensor_msgs.msg import Image +from sensor_msgs.msg import CameraInfo, Image, PointCloud2 from bcr_bot.srv import GetVisualTopics @@ -34,6 +34,8 @@ class VisualTopicClassifier(Node): self._image_encodings = {} self._image_subscriptions = {} + self._activity_subscriptions = {} + self._active_topics = set() self._topics_by_type = defaultdict(set) self.create_service( @@ -55,6 +57,10 @@ class VisualTopicClassifier(Node): if IMAGE_TYPE in topic_types: self._subscribe_to_image_encoding(topic_name) + if CAMERA_INFO_TYPE in topic_types: + self._subscribe_for_activity(topic_name, CameraInfo) + if POINT_CLOUD_TYPE in topic_types: + self._subscribe_for_activity(topic_name, PointCloud2) self._topics_by_type = topics_by_type @@ -74,7 +80,24 @@ class VisualTopicClassifier(Node): qos, ) + def _subscribe_for_activity(self, topic_name, message_type): + if topic_name in self._activity_subscriptions: + return + + qos = QoSProfile( + depth=1, + reliability=ReliabilityPolicy.BEST_EFFORT, + durability=DurabilityPolicy.VOLATILE, + ) + self._activity_subscriptions[topic_name] = self.create_subscription( + message_type, + topic_name, + lambda _, name=topic_name: self._mark_topic_active(name), + qos, + ) + def _cache_image_encoding(self, topic_name, message): + self._mark_topic_active(topic_name) encoding = message.encoding.lower() if self._image_encodings.get(topic_name) != encoding: self._image_encodings[topic_name] = encoding @@ -82,14 +105,17 @@ class VisualTopicClassifier(Node): "Detected image encoding '%s' on '%s'." % (encoding, topic_name) ) + def _mark_topic_active(self, topic_name): + self._active_topics.add(topic_name) + def _get_visual_topics_callback(self, request, response): if request.refresh: self._scan_topics() response.depth_image_topics = self._image_topics_for(DEPTH_ENCODINGS) response.rgb_image_topics = self._image_topics_for(RGB_ENCODINGS) - response.camera_info_topics = sorted(self._topics_by_type[CAMERA_INFO_TYPE]) - response.point_cloud_topics = sorted(self._topics_by_type[POINT_CLOUD_TYPE]) + response.camera_info_topics = self._active_topics_for(CAMERA_INFO_TYPE) + response.point_cloud_topics = self._active_topics_for(POINT_CLOUD_TYPE) return response def _image_topics_for(self, expected_encodings): @@ -99,6 +125,13 @@ class VisualTopicClassifier(Node): if self._image_encodings.get(topic_name) in expected_encodings ) + def _active_topics_for(self, topic_type): + return sorted( + topic_name + for topic_name in self._topics_by_type[topic_type] + if topic_name in self._active_topics + ) + def main(args=None): rclpy.init(args=args) diff --git a/src/bcr_bot/urdf/bcr_bot.xacro b/src/bcr_bot/urdf/bcr_bot.xacro index 7cac6a9..0575ce4 100644 --- a/src/bcr_bot/urdf/bcr_bot.xacro +++ b/src/bcr_bot/urdf/bcr_bot.xacro @@ -38,7 +38,7 @@ - +