73 lines
1.6 KiB
C++
Executable File
73 lines
1.6 KiB
C++
Executable File
/**
|
|
* @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 <QObject>
|
|
#include <DDS/Generic/subscriber_listener.h>
|
|
|
|
#include <DdsUnitTests/ddsut_dtc_types.h>
|
|
#include <DdsUnitTests/ddsut_dts_types.h>
|
|
|
|
|
|
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;
|
|
};
|
|
|
|
|
|
|