diff options
author | Romain Forlot <romain.forlot@iot.bzh> | 2017-05-04 11:40:24 +0200 |
---|---|---|
committer | Romain Forlot <romain.forlot@iot.bzh> | 2018-10-15 18:21:42 +0200 |
commit | 917a08ff30f6f1f8bf89b3dea951d02b265eacf2 (patch) | |
tree | 4a8f54d5aaf2f93ecddde0eb12f96516221e285a /examples/hybrid-qml | |
parent | 14f27cbe44073ef2ade633a79d40ba11e8ad497b (diff) |
Delete dirty qml examples
Change-Id: Id835a5103b859ea3b3339f4559cfa0d47736857d
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Diffstat (limited to 'examples/hybrid-qml')
-rw-r--r-- | examples/hybrid-qml/.gitignore | 1 | ||||
-rwxr-xr-x | examples/hybrid-qml/AGLbuild | 41 | ||||
-rw-r--r-- | examples/hybrid-qml/CMakeLists.txt | 40 | ||||
-rw-r--r-- | examples/hybrid-qml/etc/config.cmake | 85 | ||||
-rw-r--r-- | examples/hybrid-qml/etc/export.map | 1 | ||||
-rw-r--r-- | examples/hybrid-qml/etc/macros.cmake | 253 | ||||
-rw-r--r-- | examples/hybrid-qml/packaging/wgt/config.xml.in | 11 | ||||
-rw-r--r-- | examples/hybrid-qml/packaging/wgt/icon.png.in | bin | 5215 -> 0 bytes | |||
-rw-r--r-- | examples/hybrid-qml/xxxxxx-hybrid-qml-app.qml | 87 | ||||
-rw-r--r-- | examples/hybrid-qml/xxxxxx-hybrid-qml-binding.c | 53 |
10 files changed, 0 insertions, 572 deletions
diff --git a/examples/hybrid-qml/.gitignore b/examples/hybrid-qml/.gitignore deleted file mode 100644 index 378eac2..0000000 --- a/examples/hybrid-qml/.gitignore +++ /dev/null @@ -1 +0,0 @@ -build diff --git a/examples/hybrid-qml/AGLbuild b/examples/hybrid-qml/AGLbuild deleted file mode 100755 index ccbc28b..0000000 --- a/examples/hybrid-qml/AGLbuild +++ /dev/null @@ -1,41 +0,0 @@ -#!/usr/bin/make -f -# Copyright (C) 2015, 2016 "IoT.bzh" -# 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. - -BUILD_DIR := build -PACKAGING_DIR := packaging/wgt - -VPATH = etc:$(PACKAGING_DIR):$(PACKAGING_DIR)/etc:$(BUILD_DIR) - -.PHONY: all clean mrproper package - -all: build - -clean: - @([ -d ${BUILD_DIR} ] && make -C ${BUILD_DIR} clean) || echo Nothing to clean - -mrproper: - rm -rf ${BUILD_DIR} - -build: ${BUILD_DIR}/Makefile - cmake --build ${BUILD_DIR} --target all - -package: config.xml.in icon.png.in build | $(PKG_FILELIST) - mkdir -p ${BUILD_DIR}/$@/{bin,etc,lib,htdocs,data} - cmake --build ${BUILD_DIR} --target widget - -${BUILD_DIR}/Makefile: - @[ -d ${BUILD_DIR} ] || mkdir -p ${BUILD_DIR} - @[ -f ${BUILD_DIR}/Makefile ] || (cd ${BUILD_DIR} && cmake ${CMAKE_OPTS} ..)
\ No newline at end of file diff --git a/examples/hybrid-qml/CMakeLists.txt b/examples/hybrid-qml/CMakeLists.txt deleted file mode 100644 index 2b2fa69..0000000 --- a/examples/hybrid-qml/CMakeLists.txt +++ /dev/null @@ -1,40 +0,0 @@ -########################################################################### -# Copyright 2015, 2016, 2017 IoT.bzh -# -# 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. -########################################################################### - -CMAKE_MINIMUM_REQUIRED(VERSION 3.3) - -include(${CMAKE_CURRENT_SOURCE_DIR}/etc/config.cmake) -include(${CMAKE_CURRENT_SOURCE_DIR}/etc/macros.cmake) - -# Add target to project dependency list -PROJECT_TARGET_ADD(hybrid-qml-example) - - # Define project Targets - add_library(${TARGET_NAME} MODULE - xxxxxx-hybrid-qml-binding.c - xxxxxx-hybrid-qml-app.qml) - - # Binder exposes a unique public entry point - SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES - PREFIX "" - LABELS "BINDING" - OUTPUT_NAME ${TARGET_NAME}) - -populate_widget() - -build_widget() diff --git a/examples/hybrid-qml/etc/config.cmake b/examples/hybrid-qml/etc/config.cmake deleted file mode 100644 index 9ab0d84..0000000 --- a/examples/hybrid-qml/etc/config.cmake +++ /dev/null @@ -1,85 +0,0 @@ -########################################################################### -# Copyright 2015, 2016, 2017 IoT.bzh -# -# author: Fulup Ar Foll <fulup@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. -########################################################################### - -# Project Info -# ------------------ -set(NAME Hybrid-QML-example) -set(VERSION "0.0") -set(PROJECT_PRETTY_NAME "Hybrid QML Example") -set(PROJECT_DESCRIPTION "Hybrid QML AGL application example") -set(PROJECT_URL "https://gerrit.automotivelinux.org/gerrit/apps/app-templates") -set(PROJECT_ICON "icon.png") - -# Compilation Mode (DEBUG, RELEASE) -# ---------------------------------- -set(CMAKE_BUILD_TYPE "DEBUG") - -# Compiler selection if needed. Overload the detected compiler. -# ----------------------------------------------- -#set(CMAKE_C_COMPILER "gcc") -#set(CMAKE_CXX_COMPILER "g++") - -# PKG_CONFIG required packages -# ----------------------------- -set (PKG_REQUIRED_LIST - json-c - afb-daemon -) - -# Static constante definition -# ----------------------------- -add_compile_options() - -# LANG Specific compile flags set for all build types -set(CMAKE_C_FLAGS "") -set(CMAKE_CXX_FLAGS "") - -# Print a helper message when every thing is finished -# ---------------------------------------------------- -#set(CLOSING_MESSAGE "") - - -# (BUG!!!) as PKG_CONFIG_PATH does not work [should be an env variable] -# --------------------------------------------------------------------- -set(CMAKE_INSTALL_PREFIX ${HOME}/opt) -set(CMAKE_PREFIX_PATH ${CMAKE_INSTALL_PREFIX}/lib64/pkgconfig ${CMAKE_INSTALL_PREFIX}/lib/pkgconfig) -set(LD_LIBRARY_PATH ${CMAKE_INSTALL_PREFIX}/lib64 ${CMAKE_INSTALL_PREFIX}/lib) - -# Optional dependencies order -# --------------------------- -#set(EXTRA_DEPENDENCIES_ORDER) - -# Optional Extra global include path -# ----------------------------------- -#set(EXTRA_INCLUDE_DIRS) - -# Optional extra libraries -# ------------------------- -#set(EXTRA_LINK_LIBRARIES) - -# Optional force binding installation -# ------------------------------------ -set(BINDINGS_INSTALL_PREFIX /opt ) - -# Optional force widget prefix generation -# --------------------------------------- -# set(WIDGET_PREFIX DestinationPath) - -# Optional force binding Linking flag -# ------------------------------------ -# set(BINDINGS_LINK_FLAG LinkOptions ) diff --git a/examples/hybrid-qml/etc/export.map b/examples/hybrid-qml/etc/export.map deleted file mode 100644 index ee2f413..0000000 --- a/examples/hybrid-qml/etc/export.map +++ /dev/null @@ -1 +0,0 @@ -{ global: afbBindingV*; local: *; }; diff --git a/examples/hybrid-qml/etc/macros.cmake b/examples/hybrid-qml/etc/macros.cmake deleted file mode 100644 index e1c449e..0000000 --- a/examples/hybrid-qml/etc/macros.cmake +++ /dev/null @@ -1,253 +0,0 @@ -########################################################################### -# Copyright 2015, 2016, 2017 IoT.bzh -# -# author: Fulup Ar Foll <fulup@iot.bzh> -# contrib: 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. -########################################################################### - - -#-------------------------------------------------------------------------- -# WARNING: -# Do not change this cmake template -# Customise your preferences in "./etc/config.cmake" -#-------------------------------------------------------------------------- - - -# Generic useful macro -# ----------------------- -macro(PROJECT_TARGET_ADD TARGET_NAME) - set(PROJECT_TARGETS ${PROJECT_TARGETS} ${TARGET_NAME} CACHE INTERNAL PROJECT_TARGETS) - set(TARGET_NAME ${TARGET_NAME}) -endmacro(PROJECT_TARGET_ADD) - -macro(defstr name value) - add_definitions(-D${name}=${value}) -endmacro(defstr) - -# Dumb macro to add each directory under a path. Make sure we grab all header files! -macro(fill_include_dir path) - file(GLOB_RECURSE dirlist LIST_DIRECTORIES true "${path}/*") - foreach(filename ${dirlist}) - if(IS_DIRECTORY ${filename}) - include_directories(${filename}) - endif(IS_DIRECTORY ${filename}) - endforeach() -endmacro(fill_include_dir) - -# Helper function to retrieve source files from a library repo. -function(find_source_files path) - file(GLOB_RECURSE cfiles "${path}/*.[c]") - file(GLOB_RECURSE cppfiles "${path}/*.cpp") - foreach(filename ${cfiles}) - if(NOT ${filename} MATCHES ".*([Tt]est|[Ee]xample|[Ss]ample).*") - string(APPEND sources "${filename};") - endif(NOT ${filename} MATCHES ".*([Tt]est|[Ee]xample|[Ss]ample).*") - endforeach() - foreach(filename ${cppfiles}) - if(NOT ${filename} MATCHES ".*([Tt]est|[Ee]xample|[Ss]ample).*") - string(APPEND sources "${filename};") - endif(NOT ${filename} MATCHES ".*([Tt]est|[Ee]xample|[Ss]ample).*") - endforeach() - set(sources_files ${sources} PARENT_SCOPE) -endfunction(find_source_files) - -# WGT packaging -macro(populate_widget) - # Declaration of a custom command that will populate widget tree with the target - set(POPULE_WIDGET_TARGET "populate_${TARGET_NAME}") - - get_target_property(T ${TARGET_NAME} LABELS) - if(${T} STREQUAL "BINDING") - add_custom_command(OUTPUT ${WIDGET_LIBDIR}/${TARGET_NAME}.so - DEPENDS ${TARGET_NAME} - COMMAND mkdir -p ${WIDGET_LIBDIR} - COMMAND cp ${TARGET_NAME}.so ${WIDGET_LIBDIR} - ) - add_custom_target(${POPULE_WIDGET_TARGET} ALL DEPENDS ${WIDGET_LIBDIR}/${TARGET_NAME}.so) - elseif(${T} STREQUAL "EXECUTABLE") - get_target_property(OUT ${TARGET_NAME} OUTPUT_NAME) - add_custom_command(OUTPUT ${WIDGET_BINDIR}/${TARGET_NAME} - DEPENDS ${TARGET_NAME} - COMMAND mkdir -p ${WIDGET_BINDIR} - COMMAND cp ${OUT} ${WIDGET_BINDIR} - ) - add_custom_target(${POPULE_WIDGET_TARGET} ALL DEPENDS ${WIDGET_BINDIR}/${TARGET_NAME}) - elseif(${T} STREQUAL "HTDOCS") - get_target_property(OUT ${TARGET_NAME} OUTPUT_NAME) - add_custom_command(OUTPUT ${WIDGET_HTTPDIR} - DEPENDS ${TARGET_NAME} - COMMAND cp -r ${OUT} ${WIDGET_HTTPDIR} - ) - add_custom_target(${POPULE_WIDGET_TARGET} ALL DEPENDS ${WIDGET_HTTPDIR}) - elseif(${T} STREQUAL "DATA") - get_target_property(OUT ${TARGET_NAME} OUTPUT_NAME) - add_custom_command(OUTPUT ${WIDGET_DATADIR} - DEPENDS ${TARGET_NAME} - COMMAND cp -r ${OUT} ${WIDGET_DATADIR} - ) - add_custom_target(${POPULE_WIDGET_TARGET} ALL DEPENDS ${WIDGET_HTTPDIR}) - endif(${T} STREQUAL "BINDING") - PROJECT_TARGET_ADD(${POPULE_WIDGET_TARGET}) -endmacro(populate_widget) - -macro(build_widget) - if("${PROJECT_TARGETS}" MATCHES "populate_") - if(NOT EXISTS ${WIDGET_DIR}/config.xml.in OR NOT EXISTS ${WIDGET_DIR}/${PROJECT_ICON}.in) - configure_file(${PROJECT_WGT_DIR}/config.xml.in ${WIDGET_DIR}/config.xml) - file(COPY ${PROJECT_WGT_DIR}/${PROJECT_ICON}.in DESTINATION ${WIDGET_DIR}/${PROJECT_ICON}) - endif(NOT EXISTS ${WIDGET_DIR}/config.xml.in OR NOT EXISTS ${WIDGET_DIR}/${PROJECT_ICON}.in) - - file(GLOB PROJECT_CONF_FILES "${PROJECT_WGT_DIR}/etc/*") - if(${PROJECT_CONF_FILES}) - file(COPY "${PROJECT_WGT_DIR}/etc/*" DESTINATION ${WIDGET_ETCDIR}/) - endif(${PROJECT_CONF_FILES}) - - add_custom_command(OUTPUT ${PROJECT_NAME}.wgt - DEPENDS ${PROJECT_TARGETS} - COMMAND wgtpkg-pack -f -o ${PROJECT_NAME}.wgt ${WIDGET_DIR} - ) - add_custom_target(widget DEPENDS ${PROJECT_NAME}.wgt) - else() - MESSAGE(FATAL_ERROR "Widget tree empty, please populate it by calling populate_widget() macro with target you want to include into it.") - endif("${PROJECT_TARGETS}" MATCHES "populate_") -endmacro(build_widget) - -macro(search_targets) - file(GLOB filelist "*") - foreach(filename ${filelist}) - if(EXISTS "${filename}/CMakeLists.txt") - add_subdirectory(${filename}) - endif(EXISTS "${filename}/CMakeLists.txt") - endforeach() -endmacro() - -set(CMAKE_BUILD_TYPE Debug CACHE STRING "the type of build") -set(CMAKE_POSITION_INDEPENDENT_CODE ON) -set(CMP0048 1) - -# Include project configuration -# ------------------------------ -project(${NAME} VERSION ${VERSION}) -set(PROJECT_WGT_DIR "packaging/wgt" CACHE PATH "Subpath to the widget directory") -set(PROJECT_LIBDIR "libs" CACHE PATH "Subpath to libraries") -set(PROJECT_RESOURCES "data" CACHE PATH "Subpath to data") - -INCLUDE(FindPkgConfig) -INCLUDE(CheckIncludeFiles) -INCLUDE(CheckLibraryExists) -INCLUDE(GNUInstallDirs) - -# Default compilation options -############################################################################ -link_libraries(-Wl,--as-needed -Wl,--gc-sections) -add_compile_options(-Wall -Wextra -Wconversion) -add_compile_options(-Wno-unused-parameter) # frankly not using a parameter does it care? -add_compile_options(-Wno-sign-compare -Wno-sign-conversion) -add_compile_options(-Werror=maybe-uninitialized) -add_compile_options(-Werror=implicit-function-declaration) -add_compile_options(-ffunction-sections -fdata-sections) -add_compile_options(-fPIC) -add_compile_options(-g) - -set(CMAKE_C_FLAGS_PROFILING "-g -O2 -pg -Wp,-U_FORTIFY_SOURCE" CACHE STRING "Flags for profiling") -set(CMAKE_C_FLAGS_DEBUG "-g -O2 -ggdb -Wp,-U_FORTIFY_SOURCE" CACHE STRING "Flags for debugging") -set(CMAKE_C_FLAGS_RELEASE "-O2" CACHE STRING "Flags for releasing") -set(CMAKE_C_FLAGS_CCOV "-g -O2 --coverage" CACHE STRING "Flags for coverage test") - -set(CMAKE_CXX_FLAGS_PROFILING "-g -O0 -pg -Wp,-U_FORTIFY_SOURCE") -set(CMAKE_CXX_FLAGS_DEBUG "-g -O0 -ggdb -Wp,-U_FORTIFY_SOURCE") -set(CMAKE_CXX_FLAGS_RELEASE "-g -O2") -set(CMAKE_CXX_FLAGS_CCOV "-g -O2 --coverage") - -set(CMAKE_INSTALL_PREFIX "${CMAKE_SOURCE_DIR}/Install" CACHE PATH "The path where to install") - -# (BUG!!!) as PKG_CONFIG_PATH does not work [should be en env variable] -set(PKG_CONFIG_USE_CMAKE_PREFIX_PATH ON CACHE BOOLEAN "Flag for using prefix path") - -# Loop on required package and add options -foreach (PKG_CONFIG ${PKG_REQUIRED_LIST}) - PKG_CHECK_MODULES(${PKG_CONFIG} REQUIRED ${PKG_CONFIG}) - - INCLUDE_DIRECTORIES(${${PKG_CONFIG}_INCLUDE_DIRS}) - list (APPEND link_libraries ${${PKG_CONFIG}_LIBRARIES}) - add_compile_options (${${PKG_CONFIG}_CFLAGS}) -endforeach(PKG_CONFIG) - -# Optional LibEfence Malloc debug library -IF(CMAKE_BUILD_TYPE MATCHES DEBUG) -CHECK_LIBRARY_EXISTS(efence malloc "" HAVE_LIBEFENCE) -IF(HAVE_LIBEFENCE) - MESSAGE(STATUS "Linking with ElectricFence for debugging purposes...") - SET(libefence_LIBRARIES "-lefence") - list (APPEND link_libraries libefence_LIBRARIES}) -ENDIF(HAVE_LIBEFENCE) -ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG) - -# set default include directories -INCLUDE_DIRECTORIES(${EXTRA_INCLUDE_DIRS}) - -# If no install dir try to guess some smart default -if(BINDINGS_INSTALL_PREFIX) - set(BINDINGS_INSTALL_DIR ${BINDINGS_INSTALL_PREFIX}/${PROJECT_NAME}) -else() - set(BINDINGS_INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}) -endif() - -# Define a default package directory -if(WIDGET_PREFIX) - set(WIDGET_DIR ${WIDGET_PREFIX}/package) -else() - set(WIDGET_DIR ${CMAKE_CURRENT_BINARY_DIR}/package) -endif() - -# and their subsequent subdir -set(WIDGET_BINDIR ${WIDGET_DIR}/bin) -set(WIDGET_ETCDIR ${WIDGET_DIR}/etc) -set(WIDGET_LIBDIR ${WIDGET_DIR}/lib) -set(WIDGET_HTTPDIR ${WIDGET_DIR}/htdocs) -set(WIDGET_DATADIR ${WIDGET_DIR}/data) - -# Default Linkflag -if(NOT BINDINGS_LINK_FLAG) - set(BINDINGS_LINK_FLAG "-Wl,--version-script=${CMAKE_SOURCE_DIR}/etc/export.map") -endif() - -# Add a dummy target to enable global dependency order -# ----------------------------------------------------- -if(EXTRA_DEPENDENCIES_ORDER) - set(DEPENDENCIES_TARGET ${PROJECT_NAME}_extra_dependencies) - add_custom_target(${DEPENDENCIES_TARGET} ALL - DEPENDS ${EXTRA_DEPENDENCY_ORDER} - ) -endif() - -# Cmake does not maintain targets list before 3.7 -# ------------------------------------------------- -if(${CMAKE_VERSION} VERSION_LESS 3.7) - set(GLOBAL_TARGET_LIST ${PROJECT_TARGETS}) -else() - get_property(GLOBAL_TARGET_LIST GLOBAL PROPERTY GlobalTargetList) -endif() - -# Print developer helper message when everything is done -# ------------------------------------------------------- -if(CLOSING_MESSAGE AND GLOBAL_TARGET_LIST) - add_custom_target(${PROJECT_NAME}_done ALL - DEPENDS ${DEPENDENCIES_TARGET} ${GLOBAL_TARGET_LIST} - COMMAND ${CMAKE_COMMAND} -E cmake_echo_color --cyan "++ ${CLOSING_MESSAGE}" - ) -endif() - -set(ADDITIONAL_MAKE_CLEAN_FILES, "low-can-binding/low-can-binding.wgt") diff --git a/examples/hybrid-qml/packaging/wgt/config.xml.in b/examples/hybrid-qml/packaging/wgt/config.xml.in deleted file mode 100644 index 99c0168..0000000 --- a/examples/hybrid-qml/packaging/wgt/config.xml.in +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<widget xmlns="http://www.w3.org/ns/widgets" id="@PROJECT_NAME@" version="@PROJECT_VERSION@"> - <name>@PROJECT_NAME@</name> - <icon src="icon.png"/> - <content src="htdocs/index.html" type="application/vnd.agl.html.hybrid"/> - <description>@PROJECT_DESCRIPTION@</description> - <author>Romain Forlot <romain.forlot@iot.bzh></author> - <license>APL 2.0</license> -</widget> - - diff --git a/examples/hybrid-qml/packaging/wgt/icon.png.in b/examples/hybrid-qml/packaging/wgt/icon.png.in Binary files differdeleted file mode 100644 index 9352c59..0000000 --- a/examples/hybrid-qml/packaging/wgt/icon.png.in +++ /dev/null diff --git a/examples/hybrid-qml/xxxxxx-hybrid-qml-app.qml b/examples/hybrid-qml/xxxxxx-hybrid-qml-app.qml deleted file mode 100644 index eded2d0..0000000 --- a/examples/hybrid-qml/xxxxxx-hybrid-qml-app.qml +++ /dev/null @@ -1,87 +0,0 @@ -import QtQuick 2.0 -import QtQuick.Window 2.0 -import QtQuick.Controls 1.4 -import QtWebSockets 1.0 - -Window { - // VARIABLES - - property string port_str: Qt.application.arguments[1] - property string token_str: Qt.application.arguments[2] - property string address_str: "ws://localhost:"+port_str+"/api?token="+token_str - property string request_str: "" - property string status_str: "waiting..." - property var msgid_enu: { "call":2, "retok":3, "reterr":4, "event":5 } - - // WINDOW PROPERTIES - - visible: true - width: 340 - height: 160 - - // WEBSOCKET WIDGET (MAIN LOGIC) - - WebSocket { - id: websocket - url: address_str - onTextMessageReceived: { - // VERB RESPONSE VALIDATION - var message_json = JSON.parse (message) - var request_json = message_json[2].request - if (message_json[0] != msgid_enu.retok) { - console.log ("Return value is not ok !") - status_str = "Bad return value, binding probably not installed" - return - } - // VERB RESPONSE PARSING AND LOGIC - status_str = request_json.info - } - onStatusChanged: { - if (websocket.status == WebSocket.Error) - status_str = "WebSocket error: " + websocket.errorString - } - active: true - } - - // OTHER WIDGETS - - Rectangle { - anchors.left: parent.left - anchors.top: parent.top - anchors.horizontalCenter: parent.horizontalCenter - anchors.margins: 20 - - // TITLE SECTION - Label { - text: "QML Websocket Sample Application" - font.pixelSize: 18 - font.bold: true - anchors.centerIn: parent - y: 0 - } - Text { - id: url_notifier - text: "<b>URL:</b> " + websocket.url - y: 20 - } - - // PING BUTTON - Button { - text: "Ping!" - onClicked: { - request_str = '[' + msgid_enu.call + ',"99999","xxxxxx/ping", null ]'; - websocket.sendTextMessage (request_str) - } - anchors.horizontalCenter: parent.horizontalCenter - y: 60 - } - - // STATUS SECTION - Text { - id: status_notifier - text: "<b>Status</b>: " + status_str - y: 100 - } - } - -} diff --git a/examples/hybrid-qml/xxxxxx-hybrid-qml-binding.c b/examples/hybrid-qml/xxxxxx-hybrid-qml-binding.c deleted file mode 100644 index de6a78e..0000000 --- a/examples/hybrid-qml/xxxxxx-hybrid-qml-binding.c +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright (C) 2015, 2016 "IoT.bzh" - * Author "Manuel Bachmann" - * - * 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. - */ -#define _GNU_SOURCE -#include <json-c/json.h> - -#include <afb/afb-binding.h> - -const struct afb_binding_interface *interface; - -static void ping (struct afb_req request) -{ - static int pingcount = 0; - - json_object *query = afb_req_json(request); - afb_req_success_f(request, NULL, "Ping Binder Daemon count=%d query=%s", ++pingcount, json_object_to_json_string(query)); -} - -// NOTE: this sample does not use session to keep test a basic as possible -// in real application most APIs should be protected with AFB_SESSION_CHECK -static const struct afb_verb_desc_v1 verbs[]= { - {"ping" , AFB_SESSION_NONE, ping , "Ping the binder"}, - {NULL} -}; - -static const struct afb_binding plugin_desc = { - .type = AFB_BINDING_VERSION_1, - .v1 = { - .info = "xxxxxx hybrid service", - .prefix = "xxxxxx", - .verbs = verbs - } -}; - -const struct afb_binding *afbBindingV1Register (const struct afb_binding_interface *itf) -{ - interface = itf; - - return &plugin_desc; -} |