/** * @RDE_HEADER@ * Unit test for ExerciseManagement (EXM) * $Id$ * $HeadURL$ * $Author$ * Created by Hanna E. Rathje, SLSE, 2015-08-20 */ #pragma once #include #include // For Topic Exercise #include #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 ExerciseManagement::Exercise &data); // Subscriber ExerciseManagement::Exercise getReceivedExerciseData() const { return m_receivedExerciseData; } protected: // Subscriber Methods void processData(const ExerciseManagement::Exercise& instance, DataModification modType); Q_SIGNALS: void exerciseDataArrived(); private: dds::domain::DomainParticipant m_domainParticipantPub; dds::domain::DomainParticipant m_domainParticipantSub; int m_domainId; // Publisher dds::pub::Publisher m_ddsPublisher; DTS::Exercise *m_dtsExercise; // Subscriber dds::sub::Subscriber m_ddsSubscriber; DDSGeneric::SubscriberListener *m_subscriberListener; rti::core::ListenerBinder< dds::sub::Subscriber, dds::sub::SubscriberListener> m_subscriberListenerBinder; DTC::Exercise *m_dtcExercise; Qt::HANDLE m_mainThreadId; // For returning TestData ExerciseManagement::Exercise m_receivedExerciseData; NGL::INGLLogger& m_logger; };