.. _program_listing_file_include_rosbag2_cpp_info.hpp: Program Listing for File info.hpp ================================= |exhale_lsh| :ref:`Return to documentation for file ` (``include/rosbag2_cpp/info.hpp``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp // Copyright 2018, Bosch Software Innovations GmbH. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. #ifndef ROSBAG2_CPP__INFO_HPP_ #define ROSBAG2_CPP__INFO_HPP_ #include #include #include #include #include #include "rosbag2_cpp/visibility_control.hpp" #include "rosbag2_storage/bag_metadata.hpp" namespace rosbag2_cpp { typedef ROSBAG2_CPP_PUBLIC_TYPE struct rosbag2_service_info_t { std::string name; std::string type; std::string serialization_format; size_t request_count; size_t response_count; } rosbag2_service_info_t; typedef ROSBAG2_CPP_PUBLIC_TYPE struct rosbag2_action_info_t { std::string name; std::string type; std::string serialization_format; // request_count and response_count std::pair send_goal_service_msg_count; std::pair cancel_goal_service_msg_count; std::pair get_result_service_msg_count; // message count size_t feedback_topic_msg_count; size_t status_topic_msg_count; } rosbag2_action_info_t; class ROSBAG2_CPP_PUBLIC Info { public: virtual ~Info() = default; virtual rosbag2_storage::BagMetadata read_metadata( const std::string & uri, const std::string & storage_id = ""); std::pair< std::vector>, std::vector> > read_service_and_action_info(const std::string & uri, const std::string & storage_id = ""); virtual std::unordered_map compute_messages_size_contribution( const std::string & uri, const std::string & storage_id = ""); }; } // namespace rosbag2_cpp #endif // ROSBAG2_CPP__INFO_HPP_