diff options
author | Dmitry Yudenich <dmitry.yudenich@orioninc.com> | 2020-07-10 14:40:15 +0300 |
---|---|---|
committer | Dmitry Yudenich <dmitry.yudenich@orioninc.com> | 2020-07-16 16:39:27 +0300 |
commit | aee2ff16cc87a939e68aa2900e23d6705dda5408 (patch) | |
tree | 2ba8cfe056758e60f5e003e45b4352b6f759f2cf /sample/test-cloud-app/app/mainwindow.cpp | |
parent | d42a34b42837129dc98cd9ae115711da63eb6d62 (diff) |
Add client proxy for cloudproxy servicejellyfish_9.99.4jellyfish/9.99.49.99.4
Library with client proxy which hides communication with cloud proxy service has been added.
It allows users to integrate cloudproxy service in their applications faster.
Simple test applications have been added to demonstrate how to use libcloudproxy library.
Bug-AGL: SPEC-3472
Signed-off-by: Dmitry Yudenich <dmitry.yudenich@orioninc.com>
Change-Id: I84ab5e61ce09326e3dc49c927d402e6ec12ea1b0
Diffstat (limited to 'sample/test-cloud-app/app/mainwindow.cpp')
-rwxr-xr-x | sample/test-cloud-app/app/mainwindow.cpp | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/sample/test-cloud-app/app/mainwindow.cpp b/sample/test-cloud-app/app/mainwindow.cpp new file mode 100755 index 0000000..355847c --- /dev/null +++ b/sample/test-cloud-app/app/mainwindow.cpp @@ -0,0 +1,83 @@ +/* + * Copyright (C) 2020 MERA + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "mainwindow.h" +#include "ui_mainwindow.h" +#include <QDebug> + +#include <unistd.h> +#include <sys/stat.h> + + +#include "libcloudproxy.h" +extern CloudProxyClient* g_cloudproxyclient; + +MainWindow::MainWindow(double scale_factor, QWidget *parent) : + QMainWindow(parent), + ui(new Ui::MainWindow) +{ + ui->setupUi(scale_factor, this); + + //AGL style + setWindowFlags(Qt::FramelessWindowHint | Qt::WindowSystemMenuHint); + this->setStyleSheet( + "background-image:url(:/images/AGL_HMI_Blue_Background_NoCar-01.png) 0 0 0 0 stretch stretch; background: transparent;" ); +} + +void MainWindow::updateStat(int confirm_good, int confirm_bad, int received, QVariant recvMsg) +{ + confirmGood = confirm_good; + confirmBad = confirm_bad; + receivedCount = received; + + if (recvMsg.isValid()) + lastReceivedMsg = recvMsg.toString(); + + updateStat(); +} + +void MainWindow::updateStat() +{ + QString str = QString::asprintf("Sent: OK=%d, NOK=%d\nConfirmed: OK=%d, NOK=%d\nReceived=%d\n\n", + sendCount, sendErrorCount, confirmGood, confirmBad, receivedCount); + str.append("Last sent message:\n"); + str.append(lastSentMsg); + str.append("\n\nLast received message:\n"); + str.append(lastReceivedMsg); + ui->statLabel->setText(str); + //QApplication::processEvents(); +} + +void MainWindow::sendMsgButtonClick() +{ + qDebug() << "MainWindow::sendMegButtonClick()"; + + std::string msg = std::string{"{\"app_key\": \"app_value_"} + std::to_string(sendCount + sendErrorCount) + "\"}"; + int res = g_cloudproxyclient->sendMessage(msg); + if (res == 0) + ++sendCount; + else + ++sendErrorCount; + + lastSentMsg = msg.c_str(); + qDebug() << "cloud sendMessage result: " << res; +} + + +MainWindow::~MainWindow() +{ + delete ui; +} |