/**************************************************************************** * Copyright (c) 2024 PX4 Development Team. * SPDX-License-Identifier: BSD-3-Clause ****************************************************************************/ #include #include #include "../translations/all_translations.h" #include "pub_sub_graph.h" #include "service_graph.h" #include "monitor.h" using namespace std::chrono_literals; class RosTranslationNode : public rclcpp::Node { public: RosTranslationNode() : Node("translation_node") { _pub_sub_graph = std::make_unique(*this, RegisteredTranslations::instance().topicTranslations()); _service_graph = std::make_unique(*this, RegisteredTranslations::instance().serviceTranslations()); _monitor = std::make_unique(*this, _pub_sub_graph.get(), _service_graph.get()); } private: std::unique_ptr _pub_sub_graph; std::unique_ptr _service_graph; rclcpp::TimerBase::SharedPtr _node_update_timer; std::unique_ptr _monitor; }; int main(int argc, char * argv[]) { rclcpp::init(argc, argv); rclcpp::spin(std::make_shared()); rclcpp::shutdown(); return 0; }