60 lines
1.7 KiB
C++
Executable File
60 lines
1.7 KiB
C++
Executable File
/**
|
|
* @RDE_HEADER@
|
|
* Settings for zwmsqt
|
|
* $Id$
|
|
* $HeadURL$
|
|
* $Author$
|
|
*/
|
|
#pragma once
|
|
|
|
#include <DDS/Generic/topic_description.h>
|
|
|
|
#include <nglsettings/nglsettings_settings.h>
|
|
#include <QMap>
|
|
|
|
struct TopicDescriptionEx : public DDSGeneric::TopicDescription
|
|
{
|
|
TopicDescriptionEx() = default;
|
|
explicit TopicDescriptionEx(const DDSGeneric::TopicDescription &td)
|
|
: DDSGeneric::TopicDescription(td)
|
|
{}
|
|
QString serviceName;
|
|
};
|
|
|
|
class NGLSettings : public NGL::Settings
|
|
{
|
|
NGLSettings();
|
|
public:
|
|
|
|
// QString --> TopicName
|
|
QMap<QString, QStringList> infoValues();
|
|
void setInfoValues(const QMap<QString, QStringList> &map);
|
|
|
|
int ddsDomain() const;
|
|
void setDdsDomain(int domainId);
|
|
|
|
static NGLSettings *instance();
|
|
|
|
/* Temporary "globally" accessible Values */
|
|
// <TopicNAME, Description>
|
|
QMap<std::string, TopicDescriptionEx> m_dtTypes;
|
|
QMap<std::string, TopicDescriptionEx> m_ftTypes;
|
|
|
|
// DataTopics
|
|
QMap<std::string, TopicDescriptionEx> dataTopics() const;
|
|
bool hasDataTopic(const std::string &name) const;
|
|
TopicDescriptionEx dataTopic(const std::string &topicName) const;
|
|
TopicDescriptionEx dataTopic(const QString &topicName) const { return dataTopic(topicName.toStdString()); }
|
|
void insertDataTopic(const TopicDescriptionEx &td);
|
|
|
|
// FunctionTopics
|
|
QMap<std::string, TopicDescriptionEx> functionTopics() const;
|
|
bool hasFunctionTopic(const std::string &name) const;
|
|
TopicDescriptionEx functionTopic(const std::string &topicName) const;
|
|
void insertFunctionTopic(const TopicDescriptionEx &td);
|
|
|
|
TopicDescriptionEx topicFromTopicName(const std::string &topicName) const;
|
|
TopicDescriptionEx topicFromTopicName(const QString &topicName) const { return topicFromTopicName(topicName.toStdString()); }
|
|
};
|
|
|