#ifndef __UT_DDS_CALLBACK_HPP__ #define __UT_DDS_CALLBACK_HPP__ #include using DdsMessageHandler = std::function; namespace unitree { namespace common { class DdsReaderCallback { public: DdsReaderCallback(); DdsReaderCallback(const DdsMessageHandler& handler); DdsReaderCallback(const DdsReaderCallback& cb); DdsReaderCallback& operator=(const DdsReaderCallback& cb); ~DdsReaderCallback(); public: bool HasMessageHandler() const; void OnDataAvailable(const void* message); private: DdsMessageHandler mMessageHandler; }; using DdsReaderCallbackPtr = std::shared_ptr; } } #endif//__UT_DDS_CALLBACK_HPP__