#pragma once #include #include #include #include #include #include #include "CanInterface.h" #include "CanMessage.h" #include "MessageBuilder.h" // SQ #include "ProtoInterface.h" using namespace Can; class CloudSyncRtController : public QObject { Q_OBJECT public: explicit CloudSyncRtController(QObject *parent = nullptr); ~CloudSyncRtController(); void openSocket(const QString host, const unsigned int port=80); private: Can::CanInterface _canInterface; QThread _canThread; QWebSocket _clientSocket; Can::MessageBuilder _msgBuilder; QMap _messages; // SQ proto::ProtoInterface _protoInterface; // SQ QThread _protoThread; Q_SIGNALS: void didCanMessageReceive(const QDateTime timestamp, const Can::Message msg); private Q_SLOTS: void onFrameReceive(const QCanBusFrame frame); };