48 lines
1.3 KiB
C++
Executable File
48 lines
1.3 KiB
C++
Executable File
|
|
|
|
#pragma once
|
|
|
|
#include <DDS/Generic/generic_base.h>
|
|
#include <DDS/Generic/subscriber_listener.h>
|
|
|
|
namespace NGL {
|
|
class INGLLogger;
|
|
}
|
|
|
|
class Initialisation
|
|
{
|
|
public:
|
|
Initialisation();
|
|
virtual ~Initialisation();
|
|
|
|
enum PubSub
|
|
{
|
|
USE_PUBLISHER = 1,
|
|
USE_SUBSCRIBER = 2,
|
|
USE_PUB_SUB = 4
|
|
};
|
|
|
|
|
|
bool initDDS(int domainId, int exerciseId, PubSub pubsub = USE_PUBLISHER);
|
|
void cleanupSubscriberListener();
|
|
|
|
dds::domain::DomainParticipant getDomainParticipant() { return m_domainParticipant; }
|
|
dds::domain::DomainParticipant getDomainParticipantSub() { return m_domainParticipantSub != nullptr ? m_domainParticipantSub : m_domainParticipant; }
|
|
dds::pub::Publisher getDDSPublisher() { return m_ddsPublisher; }
|
|
dds::sub::Subscriber getDDSSubscriber() { return m_ddsSubscriber; }
|
|
DDSGeneric::SubscriberListener *getSubscriberListener() { return m_subListener; }
|
|
|
|
private:
|
|
dds::domain::DomainParticipant m_domainParticipant;
|
|
dds::domain::DomainParticipant m_domainParticipantSub;
|
|
int m_domainId;
|
|
int m_exerciseId;
|
|
dds::pub::Publisher m_ddsPublisher;
|
|
dds::sub::Subscriber m_ddsSubscriber;
|
|
DDSGeneric::SubscriberListener *m_subListener;
|
|
NGL::INGLLogger &m_logger;
|
|
};
|
|
|
|
|
|
|