AusweisApp2/test/helper/WebSocketHelper.h

39 lines
746 B
C
Raw Permalink Normal View History

2017-07-03 09:33:28 +02:00
/*!
2019-05-22 10:08:38 +02:00
* \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany
2017-07-03 09:33:28 +02:00
*/
#pragma once
2017-09-15 10:23:30 +02:00
#include <functional>
2017-07-03 09:33:28 +02:00
#include <QEventLoop>
2017-12-20 14:54:05 +01:00
#include <QStringList>
2017-07-03 09:33:28 +02:00
#include <QWebSocket>
namespace governikus
{
class WebSocketHelper
: public QObject
{
Q_OBJECT
private:
const int mConnectionTiemout;
QWebSocket mWebSocket;
2017-12-20 14:54:05 +01:00
QStringList mInput;
2017-07-03 09:33:28 +02:00
void connectWebsocket(int pPort);
private Q_SLOTS:
void onTextMessageReceived(const QString& pMessage);
public:
WebSocketHelper(int pPort, int pConnectionTimeout = 15000);
QAbstractSocket::SocketState getState() const;
bool waitForMessage(const std::function<bool(const QJsonObject&)>& pMessageMatcher);
void sendMessage(const QString& pMessage);
};
2019-01-03 15:06:22 +01:00
} // namespace governikus