Resolves 17 conflicts against legacy Qt5 semantics; validates with BUILD_RTI=ON BUILD_GRANTLEE=ON.
46 lines
1.2 KiB
C++
Executable File
46 lines
1.2 KiB
C++
Executable File
#pragma once
|
|
|
|
#include <QtCore/QObject>
|
|
#include <qobjectdefs.h>
|
|
|
|
namespace TrainingAreaBase {
|
|
|
|
class WebSocketInterface : public QObject
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
|
|
virtual bool init(quint16 listenPort) = 0;
|
|
bool init(const QPair<quint16, quint16> &portRange)
|
|
{
|
|
for (quint16 currentPort = portRange.first; currentPort != portRange.second; ++currentPort)
|
|
{
|
|
if (init(currentPort))
|
|
return true;
|
|
}
|
|
|
|
return init(0);
|
|
}
|
|
virtual bool isConnected() const = 0;
|
|
virtual quint16 getPort() const = 0;
|
|
|
|
virtual bool disconnectWs(int wsId) = 0;
|
|
|
|
virtual bool sendTelegram(int typeId, const QJsonObject *data, int exerciseId) = 0;
|
|
virtual bool sendTelegram(int wsId, const QJsonObject *data) = 0;
|
|
virtual QString getPeerAddress(int wsId) const = 0;
|
|
virtual QUrl getPeerUrl(int wsId) const = 0;
|
|
virtual int getExerciseId(int wsId) const = 0;
|
|
Q_SIGNALS:
|
|
void recivedTelegram(int wsId, const QJsonObject& telegramData);
|
|
void newConnection(int wsId, const QString& address, qint16 port);
|
|
void wsDisconnected(int wsId);
|
|
|
|
|
|
public:
|
|
explicit WebSocketInterface(QObject* parent = nullptr) : QObject(parent){}
|
|
virtual ~WebSocketInterface() {}
|
|
};
|
|
|
|
}
|