diff options
Diffstat (limited to 'basicsuite/datacollector/main.cpp')
-rw-r--r-- | basicsuite/datacollector/main.cpp | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/basicsuite/datacollector/main.cpp b/basicsuite/datacollector/main.cpp new file mode 100644 index 0000000..438abbb --- /dev/null +++ b/basicsuite/datacollector/main.cpp @@ -0,0 +1,63 @@ +/**************************************************************************** +** +** Copyright (C) 2017 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the E-Bike demo project. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include <QCoreApplication> + +#include "socketserver.h" +#include "mockdatasource.h" +#include "unixsignalhandler.h" + +int main(int argc, char *argv[]) +{ + QCoreApplication app(argc, argv); + + SocketServer* server = new SocketServer(&app); + AbstractDataSource* ds = new MockDataSource(&app); + UnixSignalHandler* handler = new UnixSignalHandler(&app); + + QObject::connect(ds, &AbstractDataSource::dataUpdate, + server, static_cast<void (SocketServer::*)(const QJsonObject&)>(&SocketServer::sendToClients)); + QObject::connect(server, &SocketServer::clientMessage, + ds, &AbstractDataSource::parseMessage); + QObject::connect(handler, &UnixSignalHandler::sigInt, + ds, &AbstractDataSource::shutdown); + QObject::connect(handler, &UnixSignalHandler::sigInt, + &app, &QCoreApplication::quit); + + UnixSignalHandler::setupSignalHandlers(); + + return app.exec(); +} |