#pragma once #include #include #include "SnakeTilesLocal.h" #include class NemoInterface : public QObject { Q_OBJECT class Impl; using PImpl = std::unique_ptr; public: enum class NemoStatus { NotConnected = 0, Connected = 1, Timeout = -1, InvalidHeartbeat = -2 }; explicit NemoInterface(QObject *parent = nullptr); ~NemoInterface() override; void start(); void stop(); void setTilesENU(const SnakeTilesLocal &tilesENU); void setENUOrigin(const QGeoCoordinate &ENUOrigin); NemoStatus status() const; QVector progress() const; signals: void statusChanged(); void progressChanged(); private: PImpl pImpl; };