#pragma once #ifndef PUBLISHER_H #define PUBLISHER_H #include "localize_utils/utils.h" #include "localize_utils/pcl_point_type.h" #include "system/parameter.h" namespace juefx{ class Publisher { public: using Ptr = boost::shared_ptr<Publisher>; Publisher(); void Reset(); static Publisher::Ptr& Instance(); virtual void init(const string &out_pose_topic, const string &out_cloud_topic) = 0; virtual void load() = 0; virtual void PublishPose(const IsometryData &pose) = 0; virtual void PublishCloud(const PointCloudJ &cloud) = 0; }; } // end of namespace #endif // PUBLISHER_H