From 15edbdc065d32c33fac6c3e7630da1fe552764f2 Mon Sep 17 00:00:00 2001 From: Akira Ohgaki <akiraohgaki@gmail.com> Date: Fri, 12 May 2017 17:45:43 +0900 Subject: [PATCH] Set handlers --- app/src/main.cpp | 7 ++----- app/src/websockets/websocketserver.cpp | 14 ++++++++++++-- app/src/websockets/websocketserver.h | 21 ++++++++++++++++----- 3 files changed, 30 insertions(+), 12 deletions(-) diff --git a/app/src/main.cpp b/app/src/main.cpp index a702c02..e6c228c 100644 --- a/app/src/main.cpp +++ b/app/src/main.cpp @@ -8,9 +8,6 @@ #include <QDebug> #include "handlers/confighandler.h" -//#include "handlers/systemhandler.h" -//#include "handlers/ocshandler.h" -//#include "handlers/itemhandler.h" #include "websockets/websocketserver.h" int main(int argc, char *argv[]) @@ -18,7 +15,7 @@ int main(int argc, char *argv[]) // Init QCoreApplication app(argc, argv); - ConfigHandler *configHandler = new ConfigHandler(&app); + ConfigHandler *configHandler = new ConfigHandler(); QJsonObject appConfigApplication = configHandler->getAppConfigApplication(); app.setApplicationName(appConfigApplication["name"].toString()); @@ -48,7 +45,7 @@ int main(int argc, char *argv[]) int port = clParser.value(clOptionPort).toInt(); // Setup websocket server - WebSocketServer *wsServer = new WebSocketServer(appConfigApplication["id"].toString(), port, &app); + WebSocketServer *wsServer = new WebSocketServer(configHandler, appConfigApplication["id"].toString(), port, &app); QObject::connect(wsServer, &WebSocketServer::stopped, &app, &QCoreApplication::quit); if (wsServer->start()) { diff --git a/app/src/websockets/websocketserver.cpp b/app/src/websockets/websocketserver.cpp index 5e00aa5..897d8eb 100644 --- a/app/src/websockets/websocketserver.cpp +++ b/app/src/websockets/websocketserver.cpp @@ -6,12 +6,22 @@ #include "qtlib_json.h" -WebSocketServer::WebSocketServer(const QString &serverName, quint16 serverPort, QObject *parent) - : QObject(parent), serverName_(serverName), serverPort_(serverPort) +#include "handlers/confighandler.h" +#include "handlers/systemhandler.h" +#include "handlers/ocshandler.h" +#include "handlers/itemhandler.h" + +WebSocketServer::WebSocketServer(ConfigHandler *configHandler, const QString &serverName, quint16 serverPort, QObject *parent) + : QObject(parent), configHandler_(configHandler), serverName_(serverName), serverPort_(serverPort) { wsServer_ = new QWebSocketServer(serverName_, QWebSocketServer::NonSecureMode, this); connect(wsServer_, &QWebSocketServer::newConnection, this, &WebSocketServer::wsNewConnection); connect(wsServer_, &QWebSocketServer::closed, this, &WebSocketServer::stopped); + + configHandler_->setParent(this); + systemHandler_ = new SystemHandler(this); + ocsHandler_ = new OcsHandler(configHandler_, this); + itemHandler_ = new ItemHandler(configHandler_, this); } WebSocketServer::~WebSocketServer() diff --git a/app/src/websockets/websocketserver.h b/app/src/websockets/websocketserver.h index 899d5dc..d15f563 100644 --- a/app/src/websockets/websocketserver.h +++ b/app/src/websockets/websocketserver.h @@ -7,24 +7,30 @@ class QWebSocketServer; class QWebSocket; +class ConfigHandler; +class SystemHandler; +class OcsHandler; +class ItemHandler; + class WebSocketServer : public QObject { Q_OBJECT public: - explicit WebSocketServer(const QString &serverName, quint16 serverPort = 0, QObject *parent = 0); + explicit WebSocketServer(ConfigHandler *configHandler, const QString &serverName = "WebSocketServer", quint16 serverPort = 0, QObject *parent = 0); ~WebSocketServer(); +signals: + void started(); + void stopped(); + +public slots: bool start(); void stop(); bool isError(); QString errorString(); QUrl serverUrl(); -signals: - void started(); - void stopped(); - private slots: void wsNewConnection(); void wsDisconnected(); @@ -38,4 +44,9 @@ private: quint16 serverPort_; QWebSocketServer *wsServer_; QList<QWebSocket *> wsClients_; + + ConfigHandler *configHandler_; + SystemHandler *systemHandler_; + OcsHandler *ocsHandler_; + ItemHandler *itemHandler_; }; -- GitLab