37 if (channel_reader_ !=
nullptr) {
38 channel_reader_.reset();
41 if (channel_node_ !=
nullptr) {
42 channel_node_.reset();
47 const std::string& channelName,
48 const std::string& nodeName) {
54 if (channelCallback !=
nullptr) {
55 channel_callback_ = channelCallback;
58 std::cerr <<
"Parameter readerCallback is null" << std::endl;
64 const std::string& nodeName) {
65 if (channelName.empty() || nodeName.empty()) {
66 std::cerr <<
"Channel Name or Node Name must be not empty" << std::endl;
70 if (channel_node_ !=
nullptr || channel_reader_ !=
nullptr ||
75 return CreateChannel(channelName, nodeName);
78 const std::string&
NodeName(
void)
const {
return channel_node_->Name(); }
81 bool CreateChannel(
const std::string& channelName,
82 const std::string& nodeName) {
83 if (channel_node_ ==
nullptr) {
85 if (channel_node_ ==
nullptr) {
91 channel_node_->CreateReader<T>(channelName, channel_callback_);
93 if (channel_reader_ ==
nullptr) {
94 std::cout <<
"----------Creat reader failed---------" << std::endl;
101 std::shared_ptr<apollo::cyber::Reader<T>> channel_reader_;
102 std::shared_ptr<apollo::cyber::Node> channel_node_;
~CyberChannReader()
Definition: channel_reader.h:34
bool InstallCallback(CyberChannelCallback< T > channelCallback)
Definition: channel_reader.h:53
CyberChannReader(void)
Definition: channel_reader.h:32
std::unique_ptr< Node > CreateNode(const std::string &node_name, const std::string &name_space="")
Definition: channel_reader.h:30
const std::string & NodeName(void) const
Definition: channel_reader.h:78
void CloseChannel(void)
Definition: channel_reader.h:36
std::function< void(const std::shared_ptr< T > &)> CyberChannelCallback
Definition: channel_reader.h:27
bool OpenChannel(const std::string &channelName, const std::string &nodeName)
Definition: channel_reader.h:63
Definition: main_window.h:47
bool InstallCallbackAndOpen(CyberChannelCallback< T > channelCallback, const std::string &channelName, const std::string &nodeName)
Definition: channel_reader.h:46