Skip to content
Snippets Groups Projects
Commit 52b217d9 authored by akiraohgaki's avatar akiraohgaki
Browse files

Add signals

parent c19c19d6
No related branches found
No related tags found
No related merge requests found
...@@ -49,6 +49,8 @@ int main(int argc, char *argv[]) ...@@ -49,6 +49,8 @@ int main(int argc, char *argv[])
// Setup websocket server // Setup websocket server
WebSocketServer *webSocketServer = new WebSocketServer(appConfigApplication["id"].toString(), port, &app); WebSocketServer *webSocketServer = new WebSocketServer(appConfigApplication["id"].toString(), port, &app);
QObject::connect(webSocketServer, &WebSocketServer::stopped, &app, &QCoreApplication::quit);
if (webSocketServer->start()) { if (webSocketServer->start()) {
qDebug() << "Websocket server started at:" << webSocketServer->serverUrl().toString(); qDebug() << "Websocket server started at:" << webSocketServer->serverUrl().toString();
} }
......
...@@ -7,19 +7,22 @@ WebSocketServer::WebSocketServer(const QString &serverName, quint16 serverPort, ...@@ -7,19 +7,22 @@ WebSocketServer::WebSocketServer(const QString &serverName, quint16 serverPort,
: QObject(parent), serverName_(serverName), serverPort_(serverPort) : QObject(parent), serverName_(serverName), serverPort_(serverPort)
{ {
webSocketServer_ = new QWebSocketServer(serverName_, QWebSocketServer::NonSecureMode, this); webSocketServer_ = new QWebSocketServer(serverName_, QWebSocketServer::NonSecureMode, this);
connect(webSocketServer_, &QWebSocketServer::closed, this, &WebSocketServer::stopped);
} }
WebSocketServer::~WebSocketServer() WebSocketServer::~WebSocketServer()
{ {
if (webSocketServer_->isListening()) { stop();
webSocketServer_->close();
}
webSocketServer_->deleteLater(); webSocketServer_->deleteLater();
} }
bool WebSocketServer::start() bool WebSocketServer::start()
{ {
return webSocketServer_->listen(QHostAddress::Any, serverPort_); if (webSocketServer_->listen(QHostAddress::Any, serverPort_)) {
emit started();
return true;
}
return false;
} }
void WebSocketServer::stop() void WebSocketServer::stop()
......
...@@ -13,6 +13,10 @@ public: ...@@ -13,6 +13,10 @@ public:
explicit WebSocketServer(const QString &serverName, quint16 serverPort = 0, QObject *parent = 0); explicit WebSocketServer(const QString &serverName, quint16 serverPort = 0, QObject *parent = 0);
~WebSocketServer(); ~WebSocketServer();
signals:
void started();
void stopped();
public slots: public slots:
bool start(); bool start();
void stop(); void stop();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment