#include <memory>
#include "modules/tools/cyber_component/content.pb.h"
#include "cyber/cyber.h"
#include "cyber/component/component.h"
#include <list>
using apollo::con::proto::Context;
using apollo::cyber::Component;
using apollo::cyber::ComponentBase;
using apollo::cyber::Node;
class ComponentReceiver : public Component<> {
public:
bool Init() override;
private:
void MessageCallback(const std::shared_ptr<Context>& msg, std::string channel_name);
std::unique_ptr<Node> listener_node;
std::list<std::shared_ptr<apollo::cyber::Reader<Context>>> m_listener_list;
};
CYBER_REGISTER_COMPONENT(ComponentReceiver)