68 lines
1.8 KiB
C++
Executable File
68 lines
1.8 KiB
C++
Executable File
/**
|
|
* @RDE_HEADER@
|
|
* Display Panel Simulator TCP Server; observes the given port and emits the incoming messages
|
|
* $Id$
|
|
* $HeadURL$
|
|
* $Author$
|
|
* Created by Florian Schult, SLSE, 2016-03-18
|
|
*/
|
|
#pragma once
|
|
|
|
//===Include specifications==================================================
|
|
#include <QtCore/QObject>
|
|
#include <NGLLogger/INGLLogger.h>
|
|
|
|
#include "customMapsAndEnum.h"
|
|
|
|
//===Forward declarations====================================================
|
|
class QLabel;
|
|
class QTcpServer;
|
|
class QTcpSocket;
|
|
class QLedLine;
|
|
|
|
//===Class specifications====================================================
|
|
/**
|
|
* Display panel simulator TCP server.
|
|
*/
|
|
class DisplayPanelSimulatorTcpServer: public QObject
|
|
{
|
|
Q_OBJECT
|
|
|
|
// References -------------------------------------------------------------
|
|
private:
|
|
/**
|
|
* Reference of the display panel simulator TCP server.
|
|
*/
|
|
QTcpServer *mp_server;
|
|
|
|
/**
|
|
* Reference of the display panel simulator TCP socket.
|
|
*/
|
|
QTcpSocket *mp_socket;
|
|
|
|
int m_port;
|
|
NGL::INGLLogger &m_logger;
|
|
|
|
// Slots ------------------------------------------------------------------
|
|
private Q_SLOTS:
|
|
void handleServerNewConnection();
|
|
void handleSocketReadyRead();
|
|
|
|
// Signals ----------------------------------------------------------------
|
|
Q_SIGNALS:
|
|
void debugMessage(int port, const QString &message, MsgLvl lvl);
|
|
void plainMessage(const QString &message);
|
|
|
|
// Methods ----------------------------------------------------------------
|
|
private:
|
|
void evaluateData(const QByteArray &data);
|
|
static char calculateChecksum(const QByteArray &data);
|
|
|
|
public:
|
|
explicit DisplayPanelSimulatorTcpServer(QObject *parent = nullptr);
|
|
virtual ~DisplayPanelSimulatorTcpServer();
|
|
void start(int port);
|
|
};
|
|
|
|
//===========================================================================
|