Program Listing for File ros2_parser.h
↰ Return to documentation for file (src/ros_parsers/ros2_parser.h)
#pragma once
#include "rclcpp/rclcpp.hpp"
#include "rmw/rmw.h"
#include "rmw/types.h"
#include "rosbag2_cpp/typesupport_helpers.hpp"
#include "rosidl_typesupport_introspection_cpp/message_introspection.hpp"
#include <PlotJuggler/plotdata.h>
#include "parser_configuration.h"
struct TopicInfo
{
std::string topic_name;
std::string type;
bool has_header_stamp;
std::shared_ptr<rcpputils::SharedLibrary> introspection_library;
const rosidl_message_type_support_t *introspection_support;
std::shared_ptr<rcpputils::SharedLibrary> support_library;
const rosidl_message_type_support_t *type_support;
static rcutils_allocator_t allocator;
};
std::string CreateSchema(const std::string &type_name);
TopicInfo CreateTopicInfo(const std::string &topic_name, const std::string &type_name);
std::shared_ptr<PJ::MessageParser>
CreateParserROS2(const PJ::ParserFactories &factories,
const std::string &topic_name,
const std::string &type_name,
PJ::PlotDataMapRef &data);