diff options
Diffstat (limited to 'src/Xpl2Client.h')
| -rw-r--r-- | src/Xpl2Client.h | 64 |
1 files changed, 36 insertions, 28 deletions
diff --git a/src/Xpl2Client.h b/src/Xpl2Client.h index 7ce70ae..9212771 100644 --- a/src/Xpl2Client.h +++ b/src/Xpl2Client.h @@ -4,6 +4,8 @@ */ #pragma once +#include "Xpl2Protocol.h" + #include <QObject> #include <QQmlEngine> #include <QTcpSocket> @@ -15,13 +17,15 @@ class Xpl2Client : public QObject QML_SINGLETON Q_PROPERTY (QString host READ host WRITE setHost NOTIFY hostChanged) - Q_PROPERTY (quint16 commandPort READ commandPort WRITE setCommandPort NOTIFY - commandPortChanged) - Q_PROPERTY (quint16 imagingPort READ imagingPort WRITE setImagingPort NOTIFY - imagingPortChanged) - Q_PROPERTY (quint16 statusPort READ statusPort WRITE setStatusPort NOTIFY - statusPortChanged) Q_PROPERTY (bool connected READ isConnected NOTIFY connectedChanged) + Q_PROPERTY ( + bool wireDebug READ wireDebug WRITE setWireDebug NOTIFY wireDebugChanged) + Q_PROPERTY (int controllerId READ controllerId NOTIFY jcVersionReceived) + Q_PROPERTY ( + QString firmwareVersion READ firmwareVersion NOTIFY jcVersionReceived) + Q_PROPERTY ( + QString hardwareVersion READ hardwareVersion NOTIFY jcVersionReceived) + Q_PROPERTY (int printheadCount READ printheadCount NOTIFY jcVersionReceived) public: explicit Xpl2Client (QObject *parent = nullptr); @@ -29,52 +33,51 @@ public: QString host () const; void setHost (const QString &host); - quint16 commandPort () const; - void setCommandPort (quint16 port); - - quint16 imagingPort () const; - void setImagingPort (quint16 port); + bool isConnected () const; - quint16 statusPort () const; - void setStatusPort (quint16 port); + bool wireDebug () const; + void setWireDebug (bool enabled); - bool isConnected () const; + int controllerId () const; + QString firmwareVersion () const; + QString hardwareVersion () const; + int printheadCount () const; Q_INVOKABLE void connectToServer (); Q_INVOKABLE void disconnectFromServer (); - Q_INVOKABLE void sendToCommandSocket (const QString &message); - Q_INVOKABLE void sendToImagingSocket (const QString &message); - Q_INVOKABLE void sendToStatusSocket (const QString &message); + Q_INVOKABLE void getJcVersion (); signals: void hostChanged (); - void commandPortChanged (); - void imagingPortChanged (); - void statusPortChanged (); void connectedChanged (); - void commandSocketResponseReceived (const QString &response); - void imagingSocketResponseReceived (const QString &response); - void statusSocketResponseReceived (const QString &response); + void wireDebugChanged (); void errorOccurred (const QString &error); void statusMessage (const QString &message); + void wireDebugMessage (const QString &message); + void jcVersionReceived (); private slots: void onCommandSocketConnected (); void onCommandSocketDisconnected (); - void onCommandSocketReadyRead (); + void onCommandSocketMessageReady (); void onCommandSocketError (QAbstractSocket::SocketError error); void onImagingSocketConnected (); void onImagingSocketDisconnected (); - void onImagingSocketReadyRead (); + void onImagingSocketMessageReady (); void onImagingSocketError (QAbstractSocket::SocketError error); void onStatusSocketConnected (); void onStatusSocketDisconnected (); - void onStatusSocketReadyRead (); + void onStatusSocketMessageReady (); void onStatusSocketError (QAbstractSocket::SocketError error); private: - void sendToSocket (QTcpSocket &socket, const QString &label, - const QString &message); + void sendCommand (QTcpSocket &socket, const QByteArray &command, + const QVariantList ¶ms = {}); + void dispatchCommandMessage (const Xpl2Protocol::ParsedMessage &msg); + void dispatchImagingMessage (const Xpl2Protocol::ParsedMessage &msg); + void dispatchStatusMessage (const Xpl2Protocol::ParsedMessage &msg); + void handleKaPing (QTcpSocket &socket); + void handleGsJcVersion (const QVariantList ¶ms); void updateConnectedState (); QTcpSocket m_commandSocket; @@ -85,4 +88,9 @@ private: quint16 m_imagingPort = 9111; quint16 m_statusPort = 9112; bool m_connected = false; + bool m_wireDebug = false; + int m_controllerId = 0; + QString m_firmwareVersion; + QString m_hardwareVersion; + int m_printheadCount = 0; }; |
