Subscriber.h 838 B

1234567891011121314151617181920212223242526272829303132333435
  1. #ifndef SUBSCRIBER_H_
  2. #define SUBSCRIBER_H_
  3. #include "idl/TopicsTypeSupportImpl.h"
  4. #include <dds/DCPS/Service_Participant.h>
  5. #include <functional>
  6. class Subscriber {
  7. public:
  8. Subscriber(int argc, char* argv[],const char * topic);
  9. ~Subscriber();
  10. void setReceivedTopicFunction(std::function<void (const TopicSample::Message&)> tf);
  11. private:
  12. void createParticipant(int argc, char* argv[]);
  13. void createSubscriber();
  14. void registerTopic();
  15. void createDataReader();
  16. private:
  17. DDS::DomainParticipantFactory_var m_participantFactory;
  18. DDS::DomainParticipant_var m_participant;
  19. DDS::Subscriber_var m_subscriber;
  20. TopicSample::MessageTypeSupport_var m_topicSupport;
  21. DDS::Topic_var m_messageTopic;
  22. DDS::DataReaderListener_var m_listener;
  23. DDS::TopicQos m_defaultQoS;
  24. char mstrtopic[256];
  25. };
  26. #endif // !SUBSCRIBER_H_