76 lines
1.8 KiB
C++
Executable File
76 lines
1.8 KiB
C++
Executable File
/**
|
|
* @RDE_HEADER@
|
|
* Unit test for ExerciseManagement (EXM)
|
|
* $Id$
|
|
* $HeadURL$
|
|
* $Author$
|
|
* Created by Hanna E. Rathje, SLSE, 2015-08-20
|
|
*/
|
|
#pragma once
|
|
|
|
#include <QObject>
|
|
#include <DDS/Generic/subscriber_listener.h>
|
|
|
|
// For Topic Exercise
|
|
#include <ExerciseManagement/exm_dtc_types.h>
|
|
#include <ExerciseManagement/exm_dts_types.h>
|
|
#include <LtsUtilsCore/data_modification_enum.h>
|
|
|
|
#include <ExerciseManagement/exm.hpp>
|
|
#include <rti/core/ListenerBinder.hpp>
|
|
|
|
|
|
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;
|
|
};
|
|
|
|
|
|
|