#pragma once #include #include #include #include namespace NGL { class INGLLogger; } class DataTopicTests : public QObject { Q_OBJECT public: DataTopicTests(); virtual ~DataTopicTests(); bool initPublisher(); bool initSubscriber(); bool write(const DdsUnitTests::TestParticipant &data); DdsUnitTests::TestParticipant getReceivedParticipantData() const { return m_receivedParticipantData; } void deleteDTC(); void deleteSubscriber(); protected: void processData(const DdsUnitTests::TestParticipant &instance, const dds::sub::SampleInfo &si); Q_SIGNALS: void testParticipantDataArrived(); private: dds::domain::DomainParticipant m_domainParticipantPub; dds::domain::DomainParticipant m_domainParticipantSub; int m_domainId; int m_partitionId; dds::pub::Publisher m_ddsPublisher; DTS::TestParticipant *m_testPart; dds::sub::Subscriber m_ddsSubscriber; DDSGeneric::SubscriberListener *m_subscriberListener; DTC::SampleInfo::TestParticipant *m_dtcTestPart; Qt::HANDLE m_mainThreadId; DdsUnitTests::TestParticipant m_receivedParticipantData; NGL::INGLLogger& m_logger; };