From 976767332e622e2410016ba3093ab812cf0b914c Mon Sep 17 00:00:00 2001
From: Akira Ohgaki <akiraohgaki@gmail.com>
Date: Fri, 28 Apr 2017 20:13:44 +0900
Subject: [PATCH] Error handling

---
 app/src/main.cpp                       |  2 +-
 app/src/websockets/websocketserver.cpp | 18 ++++++++++++++++++
 app/src/websockets/websocketserver.h   |  6 ++++++
 3 files changed, 25 insertions(+), 1 deletion(-)

diff --git a/app/src/main.cpp b/app/src/main.cpp
index 3c942ee..24493f6 100644
--- a/app/src/main.cpp
+++ b/app/src/main.cpp
@@ -45,7 +45,7 @@ int main(int argc, char *argv[])
     // Setup websocket server
     WebSocketServer *webSocketServer = new WebSocketServer(appConfigApplication["id"].toString(), port, &app);
     if (!webSocketServer->start()) {
-        qFatal("Failed to start websocket server");
+        qFatal(webSocketServer->errorString());
     }
 
     return app.exec();
diff --git a/app/src/websockets/websocketserver.cpp b/app/src/websockets/websocketserver.cpp
index 37e67c6..3617fa0 100644
--- a/app/src/websockets/websocketserver.cpp
+++ b/app/src/websockets/websocketserver.cpp
@@ -23,3 +23,21 @@ void WebSocketServer::stop()
 {
     webSocketServer_->close();
 }
+
+bool WebSocketServer::isError()
+{
+    if (webSocketServer_->error() != QWebSocketProtocol::CloseCodeNormal) {
+        return true;
+    }
+    return false;
+}
+
+QString WebSocketServer::errorString()
+{
+    return webSocketServer_->errorString();
+}
+
+QUrl WebSocketServer::serverUrl()
+{
+    return webSocketServer_->serverUrl();
+}
diff --git a/app/src/websockets/websocketserver.h b/app/src/websockets/websocketserver.h
index 115e4f5..b381e6e 100644
--- a/app/src/websockets/websocketserver.h
+++ b/app/src/websockets/websocketserver.h
@@ -1,6 +1,7 @@
 #pragma once
 
 #include <QObject>
+#include <QUrl>
 
 class QWebSocketServer;
 
@@ -16,6 +17,11 @@ public slots:
     bool start();
     void stop();
 
+    bool isError();
+    QString errorString();
+
+    QUrl serverUrl();
+
 private:
     QString serverName_;
     quint16 serverPort_;
-- 
GitLab