summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorScott Murray <scott.murray@konsulko.com>2021-12-16 16:04:44 -0500
committerScott Murray <scott.murray@konsulko.com>2021-12-16 16:25:15 -0500
commit95d837913ecb41577980345aeb8a1b3eb710ea2a (patch)
treefab37d74084c8fcd1a1cd0a9dd1a0721a6a4b572
parentb814a465a9583aa81ae7335d7adfd9df54db59cb (diff)
Update for app framework removal
Changes: - Remove the autobuild scripts and config.xml used by the app framework widget build. - Update the qmake files to just build a "hvac" binary and install it into /usr/bin by default. - Remove the code in main.cpp that handled reading the WebSocket command-line arguments and passing them to binding related code. - Add setenv of QT_QUICK_CONTROLS_STYLE to "AGL" to get the AGL styling used. This replaces a global environment variable definition tied to the old app framework, and makes it more obvious that the style is required for the app to properly work. Bug-AGL: SPEC-4182 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I6634a611741b442597dca2978a8dd0a6b6b75341
-rw-r--r--app/app.pri3
-rw-r--r--app/app.pro24
-rw-r--r--app/main.cpp44
-rwxr-xr-xautobuild/agl/autobuild110
-rwxr-xr-xautobuild/linux/autobuild110
-rw-r--r--hvac.pro3
-rw-r--r--package/config.xml16
7 files changed, 18 insertions, 292 deletions
diff --git a/app/app.pri b/app/app.pri
deleted file mode 100644
index f22f540..0000000
--- a/app/app.pri
+++ /dev/null
@@ -1,3 +0,0 @@
-TEMPLATE = app
-
-DESTDIR = $${OUT_PWD}/../package/root/bin
diff --git a/app/app.pro b/app/app.pro
index f4ab212..7d3fb4a 100644
--- a/app/app.pro
+++ b/app/app.pro
@@ -1,24 +1,26 @@
+TEMPLATE = app
TARGET = hvac
-QT = quick qml websockets
+QT = qml quick
+CONFIG += c++11 link_pkgconfig
+
+PKGCONFIG += qtappfw-hvac
HEADERS += \
translator.h
-SOURCES = main.cpp \
+SOURCES = \
+ main.cpp \
translator.cpp
-CONFIG += c++11 link_pkgconfig
-PKGCONFIG += qtappfw-hvac
-
-CONFIG(release, debug|release) {
- QMAKE_POST_LINK = $(STRIP) --strip-unneeded $(TARGET)
-}
-
RESOURCES += \
hvac.qrc \
images/images.qrc
-include(app.pri)
-
LANGUAGES = ja_JP fr_FR
include(translations.pri)
+
+target.path = $${PREFIX}/usr/bin
+target.files += $${OUT_PWD}/$${TARGET}
+target.CONFIG = no_check_exist executable
+
+INSTALLS += target
diff --git a/app/main.cpp b/app/main.cpp
index 94b46ad..c320ef8 100644
--- a/app/main.cpp
+++ b/app/main.cpp
@@ -14,57 +14,21 @@
* limitations under the License.
*/
-#include <QtGui/QGuiApplication>
+#include <QGuiApplication>
+#include <QQmlApplicationEngine>
#include <QDebug>
-#include <QUrlQuery>
-#include <QCommandLineParser>
-#include <QtQml/QQmlApplicationEngine>
#include <hvac.h>
-#include <QtQml/QQmlContext>
#include "translator.h"
int main(int argc, char *argv[])
{
- setenv("QT_QPA_PLATFORM", "wayland", 1);
- int port;
- QString token;
+ setenv("QT_QUICK_CONTROLS_STYLE", "AGL", 1);
- QCommandLineParser parser;
QGuiApplication app(argc, argv);
- parser.addPositionalArgument("port",
- app.translate("main", "port for binding"));
- parser.addPositionalArgument("secret",
- app.translate("main", "secret for binding"));
-
- parser.addHelpOption();
- parser.addVersionOption();
- parser.process(app);
- QStringList positionalArguments = parser.positionalArguments();
-
- if (positionalArguments.length() == 2) {
- port = positionalArguments.takeFirst().toInt();
- token = positionalArguments.takeFirst();
- qInfo() << "setting port:" << port << ", token:" << token;
- } else {
- qInfo() << "Need to specify port and token";
- exit(EXIT_FAILURE);
- }
-
- QUrl bindingAddress;
- bindingAddress.setScheme(QStringLiteral("ws"));
- bindingAddress.setHost(QStringLiteral("localhost"));
- bindingAddress.setPort(port);
- bindingAddress.setPath(QStringLiteral("/api"));
-
- QUrlQuery query;
- query.addQueryItem(QStringLiteral("token"), token);
- bindingAddress.setQuery(query);
-
QQmlApplicationEngine engine;
- engine.rootContext()->setContextProperty("bindingAddress", bindingAddress);
- engine.rootContext()->setContextProperty("hvac", new HVAC(bindingAddress));
+ engine.rootContext()->setContextProperty("hvac", new HVAC());
qmlRegisterType<Translator>("Translator", 1, 0, "Translator");
engine.load(QUrl(QStringLiteral("qrc:/HVAC.qml")));
diff --git a/autobuild/agl/autobuild b/autobuild/agl/autobuild
deleted file mode 100755
index bbbc13e..0000000
--- a/autobuild/agl/autobuild
+++ /dev/null
@@ -1,110 +0,0 @@
-#!/usr/bin/make -f
-# Copyright (C) 2015 - 2018 "IoT.bzh"
-# Copyright (C) 2020 Konsulko Group
-# Author "Romain Forlot" <romain.forlot@iot.bzh>
-#
-# 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.
-
-THISFILE := $(lastword $(MAKEFILE_LIST))
-ROOT_DIR := $(abspath $(dir $(THISFILE))/../..)
-
-# Build directories
-# Note that the debug directory is defined in relation to the release
-# directory (BUILD_DIR), this needs to be kept in mind if over-riding
-# it and building that widget types, the specific widget type variable
-# (e.g. BUILD_DIR_DEBUG) may also need to be specified to yield the
-# desired output hierarchy.
-BUILD_DIR = $(ROOT_DIR)/build
-BUILD_DIR_DEBUG = $(abspath $(BUILD_DIR)/../build-debug)
-
-# Output directory variable for use in pattern rules.
-# This is intended for internal use only, hence the explicit override
-# definition.
-override OUTPUT_DIR = $(BUILD_DIR)
-
-# Final install directory for widgets
-DEST = $(OUTPUT_DIR)
-
-# Default build type for release builds
-BUILD_TYPE = release
-
-.PHONY: all help update install distclean
-.PHONY: clean clean-release clean-debug clean-all
-.PHONY: configure configure-release configure-debug
-.PHONY: build build-release build-debug build-all
-.PHONY: package package-release package-debug package-all
-
-help:
- @echo "List of targets available:"
- @echo ""
- @echo "- all"
- @echo "- help"
- @echo "- clean"
- @echo "- distclean"
- @echo "- configure"
- @echo "- build: compilation, link and prepare files for package into a widget"
- @echo "- package: output a widget file '*.wgt'"
- @echo "- install: install in $(DEST) directory"
- @echo ""
- @echo "Usage: ./autobuild/agl/autobuild package DEST=${HOME}/opt"
- @echo "Don't use your build dir as DEST as wgt file is generated at this location"
-
-all: package-all
-
-# Target specific variable over-rides so static pattern rules can be
-# used for the various type-specific targets.
-
-configure-debug build-debug package-debug clean-debug: OUTPUT_DIR = $(BUILD_DIR_DEBUG)
-configure-debug build-debug package-debug: BUILD_TYPE = debug
-
-clean-release clean-debug:
- @if [ -d $(OUTPUT_DIR) ]; then \
- $(MAKE) -C $(OUTPUT_DIR) $(CLEAN_ARGS) clean; \
- else \
- echo Nothing to clean; \
- fi
-
-clean: clean-release
-
-clean-all: clean-release clean-debug
-
-distclean: clean-all
-
-configure-release configure-debug:
- @mkdir -p $(OUTPUT_DIR)
- @if [ ! -f $(OUTPUT_DIR)/Makefile ]; then \
- (cd $(OUTPUT_DIR) && qmake CONFIG+=$(BUILD_TYPE) $(CONFIGURE_ARGS) $(ROOT_DIR)); \
- fi
-
-configure: configure-release
-
-build-release build-debug: build-%: configure-%
- @$(MAKE) -C $(OUTPUT_DIR) $(BUILD_ARGS) all
-
-build: build-release
-
-build-all: build-release build-debug
-
-package-release package-debug: package-%: build-%
- @cp $(OUTPUT_DIR)/package/*.wgt $(OUTPUT_DIR)/
- @if [ "$(abspath $(DEST))" != "$(abspath $(OUTPUT_DIR))" ]; then \
- mkdir -p $(DEST) && cp $(OUTPUT_DIR)/*.wgt $(DEST); \
- fi
-
-
-package: package-release
-
-package-all: package-release package-debug
-
-install: build
- @$(MAKE) -C $(BUILD_DIR) $(INSTALL_ARGS) install
diff --git a/autobuild/linux/autobuild b/autobuild/linux/autobuild
deleted file mode 100755
index bbbc13e..0000000
--- a/autobuild/linux/autobuild
+++ /dev/null
@@ -1,110 +0,0 @@
-#!/usr/bin/make -f
-# Copyright (C) 2015 - 2018 "IoT.bzh"
-# Copyright (C) 2020 Konsulko Group
-# Author "Romain Forlot" <romain.forlot@iot.bzh>
-#
-# 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.
-
-THISFILE := $(lastword $(MAKEFILE_LIST))
-ROOT_DIR := $(abspath $(dir $(THISFILE))/../..)
-
-# Build directories
-# Note that the debug directory is defined in relation to the release
-# directory (BUILD_DIR), this needs to be kept in mind if over-riding
-# it and building that widget types, the specific widget type variable
-# (e.g. BUILD_DIR_DEBUG) may also need to be specified to yield the
-# desired output hierarchy.
-BUILD_DIR = $(ROOT_DIR)/build
-BUILD_DIR_DEBUG = $(abspath $(BUILD_DIR)/../build-debug)
-
-# Output directory variable for use in pattern rules.
-# This is intended for internal use only, hence the explicit override
-# definition.
-override OUTPUT_DIR = $(BUILD_DIR)
-
-# Final install directory for widgets
-DEST = $(OUTPUT_DIR)
-
-# Default build type for release builds
-BUILD_TYPE = release
-
-.PHONY: all help update install distclean
-.PHONY: clean clean-release clean-debug clean-all
-.PHONY: configure configure-release configure-debug
-.PHONY: build build-release build-debug build-all
-.PHONY: package package-release package-debug package-all
-
-help:
- @echo "List of targets available:"
- @echo ""
- @echo "- all"
- @echo "- help"
- @echo "- clean"
- @echo "- distclean"
- @echo "- configure"
- @echo "- build: compilation, link and prepare files for package into a widget"
- @echo "- package: output a widget file '*.wgt'"
- @echo "- install: install in $(DEST) directory"
- @echo ""
- @echo "Usage: ./autobuild/agl/autobuild package DEST=${HOME}/opt"
- @echo "Don't use your build dir as DEST as wgt file is generated at this location"
-
-all: package-all
-
-# Target specific variable over-rides so static pattern rules can be
-# used for the various type-specific targets.
-
-configure-debug build-debug package-debug clean-debug: OUTPUT_DIR = $(BUILD_DIR_DEBUG)
-configure-debug build-debug package-debug: BUILD_TYPE = debug
-
-clean-release clean-debug:
- @if [ -d $(OUTPUT_DIR) ]; then \
- $(MAKE) -C $(OUTPUT_DIR) $(CLEAN_ARGS) clean; \
- else \
- echo Nothing to clean; \
- fi
-
-clean: clean-release
-
-clean-all: clean-release clean-debug
-
-distclean: clean-all
-
-configure-release configure-debug:
- @mkdir -p $(OUTPUT_DIR)
- @if [ ! -f $(OUTPUT_DIR)/Makefile ]; then \
- (cd $(OUTPUT_DIR) && qmake CONFIG+=$(BUILD_TYPE) $(CONFIGURE_ARGS) $(ROOT_DIR)); \
- fi
-
-configure: configure-release
-
-build-release build-debug: build-%: configure-%
- @$(MAKE) -C $(OUTPUT_DIR) $(BUILD_ARGS) all
-
-build: build-release
-
-build-all: build-release build-debug
-
-package-release package-debug: package-%: build-%
- @cp $(OUTPUT_DIR)/package/*.wgt $(OUTPUT_DIR)/
- @if [ "$(abspath $(DEST))" != "$(abspath $(OUTPUT_DIR))" ]; then \
- mkdir -p $(DEST) && cp $(OUTPUT_DIR)/*.wgt $(DEST); \
- fi
-
-
-package: package-release
-
-package-all: package-release package-debug
-
-install: build
- @$(MAKE) -C $(BUILD_DIR) $(INSTALL_ARGS) install
diff --git a/hvac.pro b/hvac.pro
index 579a952..5cf7e78 100644
--- a/hvac.pro
+++ b/hvac.pro
@@ -1,3 +1,2 @@
TEMPLATE = subdirs
-SUBDIRS = app package
-package.depends += app
+SUBDIRS = app
diff --git a/package/config.xml b/package/config.xml
deleted file mode 100644
index 7c1f531..0000000
--- a/package/config.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<widget xmlns="http://www.w3.org/ns/widgets" id="hvac" version="0.1">
- <name>HVAC</name>
- <icon src="icon.svg"/>
- <content src="bin/hvac" type="application/vnd.agl.native"/>
- <description>This is a demo application used to control and dialog with HVAC system</description>
- <author>Romain Forlot &lt;romain.forlot@iot.bzh&gt;</author>
- <license>APL 2.0</license>
- <feature name="urn:AGL:widget:required-api">
- <param name="HVAC" value="ws" />
- </feature>
- <feature name="urn:AGL:widget:required-permission">
- <param name="urn:AGL:permission::public:no-htdocs" value="required" />
- <param name="urn:AGL:permission::public:display" value="required" />
- </feature>
-</widget>