Você não pode selecionar mais de 25 tópicos
Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
|
- #pragma once
-
- #include "HelloWorldPubSubTypes.hpp"
- #include <fastdds/dds/domain/DomainParticipant.hpp>
- #include <fastdds/dds/domain/DomainParticipantFactory.hpp>
- #include <fastdds/dds/publisher/DataWriter.hpp>
- #include <fastdds/dds/publisher/DataWriterListener.hpp>
- #include <fastdds/dds/publisher/Publisher.hpp>
- #include <fastdds/dds/topic/TypeSupport.hpp>
- #include <string>
-
- using namespace eprosima::fastdds::dds;
-
- class HelloWorldPublisher
- {
- public:
- HelloWorldPublisher();
- virtual ~HelloWorldPublisher();
-
- bool init();
- bool publish();
- std::string getCurrentMessage() const;
- int getCurrentIndex() const;
-
- private:
- HelloWorld hello_;
- DomainParticipant* participant_;
- Publisher* publisher_;
- Topic* topic_;
- DataWriter* writer_;
- TypeSupport type_;
-
- class PubListener : public DataWriterListener
- {
- public:
- PubListener();
- ~PubListener() override;
- void on_publication_matched(DataWriter*, const PublicationMatchedStatus& info) override;
- std::atomic_int matched_;
- } listener_;
- };
|