/** * @RDE_HEADER@ * Unit test for DataTopic Server & Client (DTS & DTC) * $Id$ * $HeadURL$ * $Author$ * Created by Hanna E. Rathje, SLSE, 2015-07-24 */ #pragma once #include #include #include #include namespace NGL { class INGLLogger; } class DataTopicTests : public QObject { Q_OBJECT public: DataTopicTests(); virtual ~DataTopicTests(); // Initialisation bool initPublisher(); bool initSubscriber(); // Publisher bool write(const DdsUnitTests::TestParticipant &data); // Subscriber DdsUnitTests::TestParticipant getReceivedParticipantData() const { return m_receivedParticipantData; } void deleteDTC(); void deleteSubscriber(); protected: // Subscriber Methods 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; // Publisher dds::pub::Publisher m_ddsPublisher; DTS::TestParticipant *m_testPart; // Subscriber dds::sub::Subscriber m_ddsSubscriber; DDSGeneric::SubscriberListener *m_subscriberListener; DTC::SampleInfo::TestParticipant *m_dtcTestPart; Qt::HANDLE m_mainThreadId; // For returning TestData DdsUnitTests::TestParticipant m_receivedParticipantData; NGL::INGLLogger& m_logger; };