Program Listing for File QtToDds.hpp¶
↰ Return to documentation for file (sinspekto/QtToDds.hpp
)
#pragma once
#include <QObject>
#include <QString>
#include <memory>
namespace ratatosk {
namespace types {
class DoubleVal;
class Double2;
class Double3;
class Double4;
class PosInfo;
class GyroInfo;
class WindInfo;
class DepthInfo;
class LogInfo;
class CurrentAtDepth;
class CurrentProfile;
}
}
namespace fkin {
class Bit;
class Real;
class IdVec1d;
class IdVec2d;
class IdVec3d;
class IdVec4d;
class Kinematics2D;
class Kinematics6D;
class BatchIdVec1d;
class BatchKinematics2D;
class BatchKinematics6D;
class ProcessStateAutomaton;
class Command;
class CommandResponse;
class NlpConfig;
class OptiStats;
// Do not know how to forward declare dds enums to be used by qt..
enum class ProcessStateKind;
enum class CommandType;
#ifdef __GNUC__
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wpedantic"
#endif
#ifndef DOXYGEN_SHOULD_SKIP_THIS
Q_NAMESPACE
enum class ProcessStateKind;
Q_ENUM_NS(ProcessStateKind);
Q_NAMESPACE
enum class CommandType;
Q_ENUM_NS(CommandType);
Q_NAMESPACE
enum class DimId
{
X,
Y,
Z,
W,
T,
PosX,
PosY,
PosZ,
Course,
Speed,
VelX,
VelY,
VelZ,
EulerX,
EulerY,
EulerZ
};
Q_ENUM_NS(DimId);
#endif
#ifdef __GNUC__
#pragma GCC diagnostic pop
#endif
}
namespace weather {
class ModuleData;
}
#ifndef DOXYGEN_SHOULD_SKIP_THIS
namespace sinspekto {
template <typename T> struct Writer;
template <typename T> struct Reader;
template <typename T> class DdsReaderListener;
}
#endif
#ifdef __GNUC__
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wpedantic"
#endif
namespace qml_enums
{
Q_NAMESPACE
enum class ProcessStateKind
{
IDLE,
INITIALIZING,
RUNNING,
FAILURE,
DEAD,
UNKNOWN
};
#ifndef DOXYGEN_SHOULD_SKIP_THIS
Q_ENUM_NS(ProcessStateKind);
#endif
Q_NAMESPACE
enum class CommandType
{
START_PROCESS,
STOP_PROCESS,
TERMINATE_PROCESS,
BOGUS_COMMAND
};
#ifndef DOXYGEN_SHOULD_SKIP_THIS
Q_ENUM_NS(CommandType);
#endif
Q_NAMESPACE
enum class DimId
{
X,
Y,
Z,
W,
T,
PosX,
PosY,
PosZ,
Course,
Speed,
VelX,
VelY,
VelZ,
EulerX,
EulerY,
EulerZ
};
#ifndef DOXYGEN_SHOULD_SKIP_THIS
Q_ENUM_NS(DimId);
#endif
}
#ifdef __GNUC__
#pragma GCC diagnostic pop
#endif
struct QtToDds : public QObject
{
Q_OBJECT
Q_PROPERTY(bool initialized READ initialized NOTIFY initializedChanged)
bool initialized() const;
public:
QtToDds(QObject *parent = nullptr);
virtual ~QtToDds();
Q_INVOKABLE void init(int domain);
signals:
void initializedChanged(bool ready);
public:
struct Dds;
std::unique_ptr<Dds> dds;
private:
bool m_ready;
};