43 {
46 return false;
47 }
49 return false;
50 }
51
54
57 auto apollo_reader_1 =
58 cyber_node_->template CreateReader<InType1>(reader_cfg_1);
59
62 auto apollo_reader_2 =
63 cyber_node_->template CreateReader<InType2>(reader_cfg_2);
64
67 auto apollo_reader_3 =
68 cyber_node_->template CreateReader<InType3>(reader_cfg_3);
69
71
72 auto apollo_blocker_1 =
75 auto apollo_blocker_2 =
78 auto apollo_blocker_3 =
81#ifdef RCLCPP__RCLCPP_HPP_
82 auto ros_publisher_0 =
83 ros_node_->create_publisher<OutType0>(ros_topic_name_0, 10);
84 ros_publishers_.push_back(std::move(ros_publisher_0));
85 auto func = [
this, ros_publisher_0, apollo_blocker_1, apollo_blocker_2,
86 apollo_blocker_3](const std::shared_ptr<InType0> in) {
87#else
88 auto func = [
this, apollo_blocker_1, apollo_blocker_2,
89 apollo_blocker_3](const std::shared_ptr<InType0> in) {
90#endif
91 auto out = std::make_shared<OutType0>();
92 if (!apollo_blocker_1->IsPublishedEmpty() &&
93 !apollo_blocker_2->IsPublishedEmpty() &&
94 !apollo_blocker_3->IsPublishedEmpty()) {
95 auto msg1 = apollo_blocker_1->GetLatestPublishedPtr();
96 auto msg2 = apollo_blocker_2->GetLatestPublishedPtr();
97 auto msg3 = apollo_blocker_3->GetLatestPublishedPtr();
98 auto in_container =
99 InputTypes<std::shared_ptr<InType0>, std::shared_ptr<InType1>,
100 std::shared_ptr<InType2>, std::shared_ptr<InType3>>{
101 std::make_tuple(in, msg1, msg2, msg3)};
102 auto out_container =
103 OutputTypes<std::shared_ptr<OutType0>>{std::make_tuple(out)};
104 this->
ConvertMsg(in_container, out_container);
105#ifdef RCLCPP__RCLCPP_HPP_
106 ros_publisher_0->publish(*out);
107#endif
108 }
109 };
110 auto apollo_reader_0 =
111 cyber_node_->template CreateReader<InType0>(reader_cfg_0, func);
116
117 return true;
118 }
std::atomic< bool > init_
std::unique_ptr< apollo::cyber::Node > cyber_node_
std::vector< std::shared_ptr< apollo::cyber::ReaderBase > > apollo_readers_
ConverterConf converter_conf_
bool LoadConfig(ConverterConf *config)
static const std::shared_ptr< BlockerManager > & Instance()
optional string apollo_channel_name_2
optional string apollo_channel_name_0
optional string apollo_channel_name_3
optional string apollo_channel_name_1
optional string ros_topic_name_0