/** * @RDE_HEADER@ * Configuration of the default QoS: * - Reading default profile (xml) * - added Parameter * * $Id$ * $HeadURL$ * $Author$ */ #pragma once #include #include #include #include namespace NGL { class INGLLogger; } namespace DDS { namespace QosProfile { enum class ConnectionType { ShmUdp, // shm and udp ShmUdpLocalhost, // shm and udp, but udp only localhost Shm, // only shm Tcp, // tcpv4 Server, Client, Tablet }; enum class TopicType { DataTopic, FunctionTopic }; DDSQOS_EXPORT QString defaultProfileXml(); DDSQOS_EXPORT bool setDefault(const QStringList &qosFileList = QStringList()); DDSQOS_EXPORT dds::domain::qos::DomainParticipantQos domainParticipantDefault(ConnectionType type, const QUrl &tcpConnectionUrl); DDSQOS_EXPORT dds::pub::qos::DataWriterQos dataWriterDefault(TopicType type); DDSQOS_EXPORT dds::sub::qos::DataReaderQos dataReaderDefault(TopicType type); DDSQOS_EXPORT dds::sub::qos::DataReaderQos dataReaderDefault(ConnectionType conType); // shortcuts for domainParticipantDefault(typ, url) DDSQOS_EXPORT dds::domain::qos::DomainParticipantQos domainParticipantShmUdp(); DDSQOS_EXPORT dds::domain::qos::DomainParticipantQos domainParticipantShmUdpLocalhost(); DDSQOS_EXPORT dds::domain::qos::DomainParticipantQos domainParticipantShm(); DDSQOS_EXPORT dds::domain::qos::DomainParticipantQos domainParticipantShmTcp(const QUrl &tcpConnectionUrl); DDSQOS_EXPORT void print(dds::core::QosProvider provider, NGL::INGLLogger &logger); DDSQOS_EXPORT void print(const dds::domain::qos::DomainParticipantQos &qos, NGL::INGLLogger &logger); DDSQOS_EXPORT void print(const dds::sub::qos::DataReaderQos &readerQos, NGL::INGLLogger &logger); DDSQOS_EXPORT void print(const dds::pub::qos::DataWriterQos &writerQos, NGL::INGLLogger &logger); } // namespace QosProfile } // namespace DDS