diff options
author | maratsabitov <marat.sabitov@mera.com> | 2020-05-08 18:03:57 +0300 |
---|---|---|
committer | Marat Sabitov <marat.sabitov@mera.com> | 2020-07-09 09:38:01 +0300 |
commit | 0cecffd4565b52bd8d200f6bc9f4144f244a6515 (patch) | |
tree | c0969bb192bb711c0bd2e2444a66c0060b2e13af /app_client_examples/test-cloud-app/app/mainwindow.cpp | |
parent | f496bfe75ef0a1ec2658d3fec51866d4c7551282 (diff) |
Introduce cloudproxy servicejellyfish_9.99.4jellyfish_9.99.3jellyfish_9.99.2jellyfish/9.99.4jellyfish/9.99.3jellyfish/9.99.29.99.49.99.39.99.2
Cloudproxy service allows applications to communicate with clouds.
The commit includes the test applications as sample for real client imlementation.
Bug-AGL: SPEC-3370
Change-Id: I82d8122e93d01451f4471cc20c706e75c16f1c29
Signed-off-by: maratsabitov <marat.sabitov@mera.com>
Diffstat (limited to 'app_client_examples/test-cloud-app/app/mainwindow.cpp')
-rwxr-xr-x | app_client_examples/test-cloud-app/app/mainwindow.cpp | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/app_client_examples/test-cloud-app/app/mainwindow.cpp b/app_client_examples/test-cloud-app/app/mainwindow.cpp new file mode 100755 index 0000000..fda05e7 --- /dev/null +++ b/app_client_examples/test-cloud-app/app/mainwindow.cpp @@ -0,0 +1,84 @@ +/* + * 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 "cloudproxy-client/cloudproxyclient.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; +} |