Websocket auto serverinfo responder (#443)

* serverinfo cb

* remove webui cron

* missing header file

* tcp connection should trigger to
This commit is contained in:
brindosch
2017-06-17 23:29:04 +02:00
committed by GitHub
parent 91c7637a2b
commit d3707cb118
12 changed files with 166 additions and 38 deletions

View File

@@ -48,7 +48,6 @@
using namespace hyperion;
int _connectionCounter = 0;
std::map<hyperion::Components, bool> JsonClientConnection::_componentsPrevState;
JsonClientConnection::JsonClientConnection(QTcpSocket *socket)
@@ -83,7 +82,7 @@ JsonClientConnection::~JsonClientConnection()
void JsonClientConnection::readData()
{
_receiveBuffer += _socket->readAll();
if (_webSocketHandshakeDone)
{
// websocket mode, data frame
@@ -237,6 +236,7 @@ void JsonClientConnection::doWebSocketHandshake()
_socket->write(h.str().c_str());
_socket->flush();
// we are in WebSocket mode, data frames should follow next
_webSocketHandshakeDone = true;
}
@@ -1394,6 +1394,14 @@ void JsonClientConnection::sendSuccessReply(const QString &command, const int ta
// send reply
sendMessage(reply);
// blacklisted commands for emitter
QVector<QString> vector;
vector << "ledcolors-imagestream-stop" << "ledcolors-imagestream-start" << "ledcolors-ledstream-stop" << "ledcolors-ledstream-start" << "logging-start" << "logging-stop";
if(vector.indexOf(command) == -1)
{
emit pushReq();
}
}
void JsonClientConnection::sendErrorReply(const QString &error, const QString &command, const int tan)
@@ -1510,4 +1518,11 @@ void JsonClientConnection::setImage(int priority, const Image<ColorRgb> & image,
}
}
void JsonClientConnection::forceServerInfo()
{
const QString command("serverinfo");
const int tan = 1;
const QJsonObject obj;
handleServerInfoCommand(obj,command,tan);
}