From ad9e3401bd6413f18b4d33f9f96d05c4c15f8ea3 Mon Sep 17 00:00:00 2001 From: asanoaozora Date: Wed, 25 Apr 2018 14:47:07 +0200 Subject: update FTS Wamp files and some CMakeLists to prepare Wamp --- api/franca/CMakeLists.txt | 24 ++-- api/franca/hmi/speechservice/CMakeLists.txt | 50 ++++---- .../freetextsearchservice/CMakeLists.txt | 50 ++++---- api/franca/navigation/mapviewer/CMakeLists.txt | 52 ++++---- .../navigation/navigationcore/CMakeLists.txt | 52 ++++---- api/franca/navigation/poiservice/CMakeLists.txt | 54 ++++---- src/freetextsearch-service-wamp/CMakeLists.txt | 138 ++++++++------------- .../FreeTextSearchService.cpp | 65 ++++++++++ .../FreeTextSearchStubImpl.cpp | 2 +- src/freetextsearch-service-wamp/main.cpp | 52 -------- 10 files changed, 278 insertions(+), 261 deletions(-) create mode 100644 src/freetextsearch-service-wamp/FreeTextSearchService.cpp delete mode 100644 src/freetextsearch-service-wamp/main.cpp diff --git a/api/franca/CMakeLists.txt b/api/franca/CMakeLists.txt index 51fbac0..7f031e4 100644 --- a/api/franca/CMakeLists.txt +++ b/api/franca/CMakeLists.txt @@ -24,10 +24,14 @@ cmake_minimum_required (VERSION 2.8.1) project(whole-franca) -option(COMMONAPI_TOOL_DIR - "Absolute path to CommonAPI tool" "") -option(COMMONAPI_DBUS_TOOL_DIR - "Absolute path to CommonAPI-DBus tool" "") +option(COMMONAPI_TOOL_GENERATOR + "Absolute path to CommonAPI code generator" "") +option(COMMONAPI_DBUS_TOOL_GENERATOR + "Absolute path to CommonAPI-DBus code generator" "") +option(COMMONAPI_WAMP_TOOL_GENERATOR + "Absolute path to CommonAPI-Wamp code generator" "") +option(WITH_WAMP_GENERATION + "Generate Wamp files" OFF) get_directory_property(hasParent PARENT_DIRECTORY) @@ -37,17 +41,5 @@ else() set(COMMONAPI_GEN_DIR "${CMAKE_CURRENT_BINARY_DIR}/src-gen") endif() -if (COMMONAPI_TOOL_DIR) - message(STATUS "COMMONAPI_TOOL_DIR ${COMMONAPI_TOOL_DIR}") -else () - message (FATAL_ERROR "Set the variable -DCOMMONAPI_TOOL_DIR=") -endif () - -if (COMMONAPI_DBUS_TOOL_DIR) - message(STATUS "COMMONAPI_DBUS_TOOL_DIR ${COMMONAPI_DBUS_TOOL_DIR}") -else () - message (FATAL_ERROR "Set the variable -DCOMMONAPI_DBUS_TOOL_DIR=") -endif () - add_subdirectory(hmi) add_subdirectory(navigation) diff --git a/api/franca/hmi/speechservice/CMakeLists.txt b/api/franca/hmi/speechservice/CMakeLists.txt index 39dac66..6e2520c 100644 --- a/api/franca/hmi/speechservice/CMakeLists.txt +++ b/api/franca/hmi/speechservice/CMakeLists.txt @@ -32,18 +32,14 @@ else() set(COMMONAPI_GEN_DIR "${CMAKE_CURRENT_BINARY_DIR}/src-gen") endif() -option(COMMONAPI_TOOL_DIR - "Absolute path to CommonAPI tool" "") -option(COMMONAPI_DBUS_TOOL_DIR - "Absolute path to CommonAPI-DBus tool" "") - -execute_process(COMMAND uname -i OUTPUT_VARIABLE OS_VERSION) -if("${OS_VERSION}" MATCHES "i686") - set(OS_VERSION "x86") -else() - set(OS_VERSION "x86_64") -endif() -message(STATUS "OS_VERSION = ${OS_VERSION}") +option(COMMONAPI_TOOL_GENERATOR + "Absolute path to CommonAPI code generator" "") +option(COMMONAPI_DBUS_TOOL_GENERATOR + "Absolute path to CommonAPI-DBus code generator" "") +option(COMMONAPI_WAMP_TOOL_GENERATOR + "Absolute path to CommonAPI-Wamp code generator" "") +option(WITH_WAMP_GENERATION + "Generate Wamp files" OFF) set(COMMONAPI_FIDL_DIR "${CMAKE_CURRENT_SOURCE_DIR}") @@ -58,17 +54,29 @@ endif() file(GLOB FIDL_FILES "${COMMONAPI_FIDL_DIR}/*.fidl") -if (COMMONAPI_TOOL_DIR) +if (COMMONAPI_TOOL_GENERATOR) execute_process(WORKING_DIRECTORY ${COMMONAPI_FIDL_DIR} - COMMAND ${COMMONAPI_TOOL_DIR}/org.genivi.commonapi.core.cli.product/target/products/org.genivi.commonapi.core.cli.product/linux/gtk/${OS_VERSION}/commonapi-generator-linux-${OS_VERSION} -sk -d ${COMMONAPI_GEN_DIR} ${FIDL_FILES}) + COMMAND ${COMMONAPI_TOOL_GENERATOR} -sk -d ${COMMONAPI_GEN_DIR} ${FIDL_FILES}) else () - message (FATAL_ERROR "Set the variable -DCOMMONAPI_TOOL_DIR=") + message (FATAL_ERROR "Set the variable -DCOMMONAPI_TOOL_GENERATOR=") endif () -if (COMMONAPI_DBUS_TOOL_DIR) - execute_process(WORKING_DIRECTORY ${COMMONAPI_FIDL_DIR} - COMMAND ${COMMONAPI_DBUS_TOOL_DIR}/org.genivi.commonapi.dbus.cli.product/target/products/org.genivi.commonapi.dbus.cli.product/linux/gtk/${OS_VERSION}/commonapi-dbus-generator-linux-${OS_VERSION} -d ${COMMONAPI_GEN_DIR} ${FIDL_FILES}) -else () - message (FATAL_ERROR "Set the variable -DCOMMONAPI_DBUS_TOOL_DIR=") -endif () +if (WITH_WAMP_GENERATION) + if (COMMONAPI_WAMP_TOOL_GENERATOR) + foreach(RAW_FILE ${FIDL_FILES}) + execute_process(WORKING_DIRECTORY ${COMMONAPI_FIDL_DIR} + COMMAND java -jar ${COMMONAPI_WAMP_TOOL_GENERATOR} -f ${RAW_FILE} -d ${COMMONAPI_GEN_DIR} ) + endforeach() + else () + message (FATAL_ERROR "Set the variable -DCOMMONAPI_WAMP_TOOL_GENERATOR=") + endif () +else() + if (COMMONAPI_DBUS_TOOL_GENERATOR) + execute_process(WORKING_DIRECTORY ${COMMONAPI_FIDL_DIR} + COMMAND ${COMMONAPI_DBUS_TOOL_GENERATOR} -d ${COMMONAPI_GEN_DIR} ${FIDL_FILES}) + else () + message (FATAL_ERROR "Set the variable -DCOMMONAPI_DBUS_TOOL_GENERATOR=") + endif () +endif() + diff --git a/api/franca/navigation/freetextsearchservice/CMakeLists.txt b/api/franca/navigation/freetextsearchservice/CMakeLists.txt index fdfd97f..e49d9fb 100644 --- a/api/franca/navigation/freetextsearchservice/CMakeLists.txt +++ b/api/franca/navigation/freetextsearchservice/CMakeLists.txt @@ -32,18 +32,14 @@ else() set(COMMONAPI_GEN_DIR "${CMAKE_CURRENT_BINARY_DIR}/src-gen") endif() -option(COMMONAPI_TOOL_DIR - "Absolute path to CommonAPI tool" "") -option(COMMONAPI_DBUS_TOOL_DIR - "Absolute path to CommonAPI-DBus tool" "") - -execute_process(COMMAND uname -i OUTPUT_VARIABLE OS_VERSION) -if("${OS_VERSION}" MATCHES "i686") - set(OS_VERSION "x86") -else() - set(OS_VERSION "x86_64") -endif() -message(STATUS "OS_VERSION = ${OS_VERSION}") +option(COMMONAPI_TOOL_GENERATOR + "Absolute path to CommonAPI code generator" "") +option(COMMONAPI_DBUS_TOOL_GENERATOR + "Absolute path to CommonAPI-DBus code generator" "") +option(COMMONAPI_WAMP_TOOL_GENERATOR + "Absolute path to CommonAPI-Wamp code generator" "") +option(WITH_WAMP_GENERATION + "Generate Wamp files" OFF) set(COMMONAPI_FIDL_DIR "${CMAKE_CURRENT_SOURCE_DIR}") @@ -58,17 +54,29 @@ endif() file(GLOB FIDL_FILES "${COMMONAPI_FIDL_DIR}/*.fidl") -if(COMMONAPI_TOOL_DIR) +if (COMMONAPI_TOOL_GENERATOR) execute_process(WORKING_DIRECTORY ${COMMONAPI_FIDL_DIR} - COMMAND ${COMMONAPI_TOOL_DIR}/org.genivi.commonapi.core.cli.product/target/products/org.genivi.commonapi.core.cli.product/linux/gtk/${OS_VERSION}/commonapi-generator-linux-${OS_VERSION} -sk -d ${COMMONAPI_GEN_DIR} ${FIDL_FILES}) -else() - message (FATAL_ERROR "Set the variable -DCOMMONAPI_TOOL_DIR=") -endif() + COMMAND ${COMMONAPI_TOOL_GENERATOR} -sk -d ${COMMONAPI_GEN_DIR} ${FIDL_FILES}) +else () + message (FATAL_ERROR "Set the variable -DCOMMONAPI_TOOL_GENERATOR=") +endif () -if(COMMONAPI_DBUS_TOOL_DIR) - execute_process(WORKING_DIRECTORY ${COMMONAPI_FIDL_DIR} - COMMAND ${COMMONAPI_DBUS_TOOL_DIR}/org.genivi.commonapi.dbus.cli.product/target/products/org.genivi.commonapi.dbus.cli.product/linux/gtk/${OS_VERSION}/commonapi-dbus-generator-linux-${OS_VERSION} -d ${COMMONAPI_GEN_DIR} ${FIDL_FILES}) +if (WITH_WAMP_GENERATION) + if (COMMONAPI_WAMP_TOOL_GENERATOR) + foreach(RAW_FILE ${FIDL_FILES}) + execute_process(WORKING_DIRECTORY ${COMMONAPI_FIDL_DIR} + COMMAND java -jar ${COMMONAPI_WAMP_TOOL_GENERATOR} -f ${RAW_FILE} -d ${COMMONAPI_GEN_DIR} ) + endforeach() + else () + message (FATAL_ERROR "Set the variable -DCOMMONAPI_WAMP_TOOL_GENERATOR=") + endif () else() - message (FATAL_ERROR "Set the variable -DCOMMONAPI_DBUS_TOOL_DIR=") + if (COMMONAPI_DBUS_TOOL_GENERATOR) + execute_process(WORKING_DIRECTORY ${COMMONAPI_FIDL_DIR} + COMMAND ${COMMONAPI_DBUS_TOOL_GENERATOR} -d ${COMMONAPI_GEN_DIR} ${FIDL_FILES}) + else () + message (FATAL_ERROR "Set the variable -DCOMMONAPI_DBUS_TOOL_GENERATOR=") + endif () endif() + diff --git a/api/franca/navigation/mapviewer/CMakeLists.txt b/api/franca/navigation/mapviewer/CMakeLists.txt index c861873..b4e7e81 100644 --- a/api/franca/navigation/mapviewer/CMakeLists.txt +++ b/api/franca/navigation/mapviewer/CMakeLists.txt @@ -26,24 +26,22 @@ project(franca-mapviewer) get_directory_property(hasParent PARENT_DIRECTORY) +get_directory_property(hasParent PARENT_DIRECTORY) + if(hasParent) set(COMMONAPI_GEN_DIR "${COMMONAPI_GEN_DIR}" PARENT_SCOPE) else() set(COMMONAPI_GEN_DIR "${CMAKE_CURRENT_BINARY_DIR}/src-gen") endif() -option(COMMONAPI_TOOL_DIR - "Absolute path to CommonAPI tool" "") -option(COMMONAPI_DBUS_TOOL_DIR - "Absolute path to CommonAPI-DBus tool" "") - -execute_process(COMMAND uname -i OUTPUT_VARIABLE OS_VERSION) -if("${OS_VERSION}" MATCHES "i686") - set(OS_VERSION "x86") -else() - set(OS_VERSION "x86_64") -endif() -message(STATUS "OS_VERSION = ${OS_VERSION}") +option(COMMONAPI_TOOL_GENERATOR + "Absolute path to CommonAPI code generator" "") +option(COMMONAPI_DBUS_TOOL_GENERATOR + "Absolute path to CommonAPI-DBus code generator" "") +option(COMMONAPI_WAMP_TOOL_GENERATOR + "Absolute path to CommonAPI-Wamp code generator" "") +option(WITH_WAMP_GENERATION + "Generate Wamp files" OFF) set(COMMONAPI_FIDL_DIR "${CMAKE_CURRENT_SOURCE_DIR}") @@ -58,17 +56,29 @@ endif() file(GLOB FIDL_FILES "${COMMONAPI_FIDL_DIR}/*.fidl") -if (COMMONAPI_TOOL_DIR) +if (COMMONAPI_TOOL_GENERATOR) execute_process(WORKING_DIRECTORY ${COMMONAPI_FIDL_DIR} - COMMAND ${COMMONAPI_TOOL_DIR}/org.genivi.commonapi.core.cli.product/target/products/org.genivi.commonapi.core.cli.product/linux/gtk/${OS_VERSION}/commonapi-generator-linux-${OS_VERSION} -sk -d ${COMMONAPI_GEN_DIR} ${FIDL_FILES}) + COMMAND ${COMMONAPI_TOOL_GENERATOR} -sk -d ${COMMONAPI_GEN_DIR} ${FIDL_FILES}) else () - message (FATAL_ERROR "Set the variable -DCOMMONAPI_TOOL_DIR=") + message (FATAL_ERROR "Set the variable -DCOMMONAPI_TOOL_GENERATOR=") endif () -if (COMMONAPI_DBUS_TOOL_DIR) - execute_process(WORKING_DIRECTORY ${COMMONAPI_FIDL_DIR} - COMMAND ${COMMONAPI_DBUS_TOOL_DIR}/org.genivi.commonapi.dbus.cli.product/target/products/org.genivi.commonapi.dbus.cli.product/linux/gtk/${OS_VERSION}/commonapi-dbus-generator-linux-${OS_VERSION} -d ${COMMONAPI_GEN_DIR} ${FIDL_FILES}) -else () - message (FATAL_ERROR "Set the variable -DCOMMONAPI_DBUS_TOOL_DIR=") -endif () +if (WITH_WAMP_GENERATION) + if (COMMONAPI_WAMP_TOOL_GENERATOR) + foreach(RAW_FILE ${FIDL_FILES}) + execute_process(WORKING_DIRECTORY ${COMMONAPI_FIDL_DIR} + COMMAND java -jar ${COMMONAPI_WAMP_TOOL_GENERATOR} -f ${RAW_FILE} -d ${COMMONAPI_GEN_DIR} ) + endforeach() + else () + message (FATAL_ERROR "Set the variable -DCOMMONAPI_WAMP_TOOL_GENERATOR=") + endif () +else() + if (COMMONAPI_DBUS_TOOL_GENERATOR) + execute_process(WORKING_DIRECTORY ${COMMONAPI_FIDL_DIR} + COMMAND ${COMMONAPI_DBUS_TOOL_GENERATOR} -d ${COMMONAPI_GEN_DIR} ${FIDL_FILES}) + else () + message (FATAL_ERROR "Set the variable -DCOMMONAPI_DBUS_TOOL_GENERATOR=") + endif () +endif() + diff --git a/api/franca/navigation/navigationcore/CMakeLists.txt b/api/franca/navigation/navigationcore/CMakeLists.txt index 8a3a11b..fa33551 100644 --- a/api/franca/navigation/navigationcore/CMakeLists.txt +++ b/api/franca/navigation/navigationcore/CMakeLists.txt @@ -26,24 +26,22 @@ project(franca-navigationcore) get_directory_property(hasParent PARENT_DIRECTORY) +get_directory_property(hasParent PARENT_DIRECTORY) + if(hasParent) set(COMMONAPI_GEN_DIR "${COMMONAPI_GEN_DIR}" PARENT_SCOPE) else() set(COMMONAPI_GEN_DIR "${CMAKE_CURRENT_BINARY_DIR}/src-gen") endif() -option(COMMONAPI_TOOL_DIR - "Absolute path to CommonAPI tool" "") -option(COMMONAPI_DBUS_TOOL_DIR - "Absolute path to CommonAPI-DBus tool" "") - -execute_process(COMMAND uname -i OUTPUT_VARIABLE OS_VERSION) -if("${OS_VERSION}" MATCHES "i686") - set(OS_VERSION "x86") -else() - set(OS_VERSION "x86_64") -endif() -message(STATUS "OS_VERSION = ${OS_VERSION}") +option(COMMONAPI_TOOL_GENERATOR + "Absolute path to CommonAPI code generator" "") +option(COMMONAPI_DBUS_TOOL_GENERATOR + "Absolute path to CommonAPI-DBus code generator" "") +option(COMMONAPI_WAMP_TOOL_GENERATOR + "Absolute path to CommonAPI-Wamp code generator" "") +option(WITH_WAMP_GENERATION + "Generate Wamp files" OFF) set(COMMONAPI_FIDL_DIR "${CMAKE_CURRENT_SOURCE_DIR}") @@ -58,17 +56,29 @@ endif() file(GLOB FIDL_FILES "${COMMONAPI_FIDL_DIR}/*.fidl") -if (COMMONAPI_TOOL_DIR) +if (COMMONAPI_TOOL_GENERATOR) execute_process(WORKING_DIRECTORY ${COMMONAPI_FIDL_DIR} - COMMAND ${COMMONAPI_TOOL_DIR}/org.genivi.commonapi.core.cli.product/target/products/org.genivi.commonapi.core.cli.product/linux/gtk/${OS_VERSION}/commonapi-generator-linux-${OS_VERSION} -sk -d ${COMMONAPI_GEN_DIR} ${FIDL_FILES}) + COMMAND ${COMMONAPI_TOOL_GENERATOR} -sk -d ${COMMONAPI_GEN_DIR} ${FIDL_FILES}) else () - message (FATAL_ERROR "Set the variable -DCOMMONAPI_TOOL_DIR=") + message (FATAL_ERROR "Set the variable -DCOMMONAPI_TOOL_GENERATOR=") endif () -if (COMMONAPI_DBUS_TOOL_DIR) - execute_process(WORKING_DIRECTORY ${COMMONAPI_FIDL_DIR} - COMMAND ${COMMONAPI_DBUS_TOOL_DIR}/org.genivi.commonapi.dbus.cli.product/target/products/org.genivi.commonapi.dbus.cli.product/linux/gtk/${OS_VERSION}/commonapi-dbus-generator-linux-${OS_VERSION} -d ${COMMONAPI_GEN_DIR} ${FIDL_FILES}) -else () - message (FATAL_ERROR "Set the variable -DCOMMONAPI_DBUS_TOOL_DIR=") -endif () +if (WITH_WAMP_GENERATION) + if (COMMONAPI_WAMP_TOOL_GENERATOR) + foreach(RAW_FILE ${FIDL_FILES}) + execute_process(WORKING_DIRECTORY ${COMMONAPI_FIDL_DIR} + COMMAND java -jar ${COMMONAPI_WAMP_TOOL_GENERATOR} -f ${RAW_FILE} -d ${COMMONAPI_GEN_DIR} ) + endforeach() + else () + message (FATAL_ERROR "Set the variable -DCOMMONAPI_WAMP_TOOL_GENERATOR=") + endif () +else() + if (COMMONAPI_DBUS_TOOL_GENERATOR) + execute_process(WORKING_DIRECTORY ${COMMONAPI_FIDL_DIR} + COMMAND ${COMMONAPI_DBUS_TOOL_GENERATOR} -d ${COMMONAPI_GEN_DIR} ${FIDL_FILES}) + else () + message (FATAL_ERROR "Set the variable -DCOMMONAPI_DBUS_TOOL_GENERATOR=") + endif () +endif() + diff --git a/api/franca/navigation/poiservice/CMakeLists.txt b/api/franca/navigation/poiservice/CMakeLists.txt index 154bd57..b0de8a3 100644 --- a/api/franca/navigation/poiservice/CMakeLists.txt +++ b/api/franca/navigation/poiservice/CMakeLists.txt @@ -6,7 +6,7 @@ # # Author: Philippe Colliot # -# Copyright (C) 2015, PCA Peugeot Citroen +# Copyright (C) 2018, PSA Groupe # # Note: # The current file is an adaptation of the example file @@ -26,24 +26,22 @@ project(franca-poiservice) get_directory_property(hasParent PARENT_DIRECTORY) +get_directory_property(hasParent PARENT_DIRECTORY) + if(hasParent) set(COMMONAPI_GEN_DIR "${COMMONAPI_GEN_DIR}" PARENT_SCOPE) else() set(COMMONAPI_GEN_DIR "${CMAKE_CURRENT_BINARY_DIR}/src-gen") endif() -option(COMMONAPI_TOOL_DIR - "Absolute path to CommonAPI tool" "") -option(COMMONAPI_DBUS_TOOL_DIR - "Absolute path to CommonAPI-DBus tool" "") - -execute_process(COMMAND uname -i OUTPUT_VARIABLE OS_VERSION) -if("${OS_VERSION}" MATCHES "i686") - set(OS_VERSION "x86") -else() - set(OS_VERSION "x86_64") -endif() -message(STATUS "OS_VERSION = ${OS_VERSION}") +option(COMMONAPI_TOOL_GENERATOR + "Absolute path to CommonAPI code generator" "") +option(COMMONAPI_DBUS_TOOL_GENERATOR + "Absolute path to CommonAPI-DBus code generator" "") +option(COMMONAPI_WAMP_TOOL_GENERATOR + "Absolute path to CommonAPI-Wamp code generator" "") +option(WITH_WAMP_GENERATION + "Generate Wamp files" OFF) set(COMMONAPI_FIDL_DIR "${CMAKE_CURRENT_SOURCE_DIR}") @@ -58,17 +56,29 @@ endif() file(GLOB FIDL_FILES "${COMMONAPI_FIDL_DIR}/*.fidl") -if (COMMONAPI_TOOL_DIR) +if (COMMONAPI_TOOL_GENERATOR) execute_process(WORKING_DIRECTORY ${COMMONAPI_FIDL_DIR} - COMMAND ${COMMONAPI_TOOL_DIR}/org.genivi.commonapi.core.cli.product/target/products/org.genivi.commonapi.core.cli.product/linux/gtk/${OS_VERSION}/commonapi-generator-linux-${OS_VERSION} -sk -d ${COMMONAPI_GEN_DIR} ${FIDL_FILES}) + COMMAND ${COMMONAPI_TOOL_GENERATOR} -sk -d ${COMMONAPI_GEN_DIR} ${FIDL_FILES}) else () - message (FATAL_ERROR "Set the variable -DCOMMONAPI_TOOL_DIR=") + message (FATAL_ERROR "Set the variable -DCOMMONAPI_TOOL_GENERATOR=") endif () -if (COMMONAPI_DBUS_TOOL_DIR) - execute_process(WORKING_DIRECTORY ${COMMONAPI_FIDL_DIR} - COMMAND ${COMMONAPI_DBUS_TOOL_DIR}/org.genivi.commonapi.dbus.cli.product/target/products/org.genivi.commonapi.dbus.cli.product/linux/gtk/${OS_VERSION}/commonapi-dbus-generator-linux-${OS_VERSION} -d ${COMMONAPI_GEN_DIR} ${FIDL_FILES}) -else () - message (FATAL_ERROR "Set the variable -DCOMMONAPI_DBUS_TOOL_DIR=") -endif () +if (WITH_WAMP_GENERATION) + if (COMMONAPI_WAMP_TOOL_GENERATOR) + foreach(RAW_FILE ${FIDL_FILES}) + execute_process(WORKING_DIRECTORY ${COMMONAPI_FIDL_DIR} + COMMAND java -jar ${COMMONAPI_WAMP_TOOL_GENERATOR} -f ${RAW_FILE} -d ${COMMONAPI_GEN_DIR} ) + endforeach() + else () + message (FATAL_ERROR "Set the variable -DCOMMONAPI_WAMP_TOOL_GENERATOR=") + endif () +else() + if (COMMONAPI_DBUS_TOOL_GENERATOR) + execute_process(WORKING_DIRECTORY ${COMMONAPI_FIDL_DIR} + COMMAND ${COMMONAPI_DBUS_TOOL_GENERATOR} -d ${COMMONAPI_GEN_DIR} ${FIDL_FILES}) + else () + message (FATAL_ERROR "Set the variable -DCOMMONAPI_DBUS_TOOL_GENERATOR=") + endif () +endif() + diff --git a/src/freetextsearch-service-wamp/CMakeLists.txt b/src/freetextsearch-service-wamp/CMakeLists.txt index d4e036c..da6bd60 100644 --- a/src/freetextsearch-service-wamp/CMakeLists.txt +++ b/src/freetextsearch-service-wamp/CMakeLists.txt @@ -2,11 +2,11 @@ # @licence app begin@ # SPDX-License-Identifier: MPL-2.0 # -# Component Name: freetextsearch-server +# Component Name: freetextsearch-wamp # # Author: Philippe Colliot # -# Copyright (C) 2016, PCA Peugeot Citroën +# Copyright (C) 2018, PSA GROUPE # # License: # This Source Code Form is subject to the terms of the @@ -15,121 +15,87 @@ # # @licence end@ ########################################################################### -project(freetextsearch-server-wamp) -message(STATUS ${PROJECT_NAME}) - +project(freetextsearch-wamp) cmake_minimum_required(VERSION 2.8) -option(DBUS_LIB_PATH - "Path to the patched DBus library") -option(FRANCA_WAMP_GENERATOR - "Franca to Wamp generator") +set(PROJECT_NAME_SERVICE ${PROJECT_NAME}Service) +set(PROJECT_NAME_LIBRARY ${PROJECT_NAME}-wamp) + +message(STATUS ${PROJECT_NAME}) + +option(WITH_WAMP_GENERATION + "Generate Wamp files" ON) set(CMAKE_VERBOSE_MAKEFILE on) set(CMAKE_CXX_FLAGS "-Wall -O0 -std=c++0x -D_GLIBCXX_USE_NANOSLEEP -pthread") -set(API_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../api") -set(FRANCA_DIR "${API_DIR}/franca") +set(FRANCA_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../api/franca") +set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/lib) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/bin) -set(PARENT_API freetextsearchservice) -set(ROOT_API navigation) -set(API_VERSION_MAJOR 1) -set(API_VERSION "v${API_VERSION_MAJOR}") -set(COMMONAPI_GEN_DIR "${CMAKE_CURRENT_BINARY_DIR}/src-gen") -set(PRJ_SRC_GEN_PATH ${COMMONAPI_GEN_DIR}/${API_VERSION}/org/genivi/${ROOT_API}/${PARENT_API}) -set(PRJ_SRC_GEN_NAVIGATION_TYPES_PATH ${COMMONAPI_GEN_DIR}/org/genivi/${ROOT_API}) - -# DBus Path -if(DBUS_LIB_PATH) - message(STATUS "DBUS_LIB_PATH = " ${DBUS_LIB_PATH}) - set(DBUS_INCLUDE_DIRS ${DBUS_LIB_PATH}/include/dbus-1.0 ${DBUS_LIB_PATH}/lib/dbus-1.0/include) - set(DBUS_LIBDIR ${DBUS_LIB_PATH}/lib) - set(DBUS_LIBRARIES ${DBUS_LIB_PATH}/lib/libdbus-1.so) -else() - message(FATAL_ERROR "Please specify the path to your patched DBus library using -DDBUS_LIB_PATH=yourPath") -endif() - -# Franca to wamp generator -file(GLOB FIDL_FILES - ${FRANCA_DIR}/CommonTypes.fidl - ${FRANCA_DIR}/navigation/NavigationTypes.fidl - ${FRANCA_DIR}/navigation/freetextsearchservice/*.fidl - ) -if(FRANCA_WAMP_GENERATOR) - foreach(RAW_FILE ${FIDL_FILES}) - message(STATUS "Generate Wamp stuff for: " ${RAW_FILE}) - execute_process( - COMMAND java -jar ${FRANCA_WAMP_GENERATOR} -f ${RAW_FILE} -o ${COMMONAPI_GEN_DIR} - ) - endforeach() -else() - message(FATAL_ERROR "Please specify the Franca Wamp generator using -DFRANCA_WAMP_GENERATOR=") -endif() - # Packages -find_package(PkgConfig REQUIRED) -find_package(CommonAPI 3.1.9 REQUIRED) -find_package(CommonAPI-DBus 3.1.9 REQUIRED) -find_package(CommonAPI-WAMP REQUIRED) +find_package(CommonAPI REQUIRED CONFIG NO_CMAKE_PACKAGE_REGISTRY) +find_package(CommonAPI-WAMP REQUIRED CONFIG NO_CMAKE_PACKAGE_REGISTRY) -pkg_check_modules(COMMONAPI "CommonAPI >= 3.1.9") -pkg_check_modules(COMMONAPI_DBUS "CommonAPI-DBus >= 3.1.9") -pkg_check_modules(SQLITE3 REQUIRED sqlite3) -pkg_check_modules(GOBJECT gobject-2.0) -pkg_check_modules(GLIB REQUIRED glib-2.0) +message(STATUS "CommonAPI_CONSIDERED_CONFIGS: ${CommonAPI_CONSIDERED_CONFIGS}") +message(STATUS "COMMONAPI_INCLUDE_DIRS: ${COMMONAPI_INCLUDE_DIRS}") +message(STATUS "CommonAPI-WAMP_CONSIDERED_CONFIGS: ${CommonAPI-WAMP_CONSIDERED_CONFIGS}") +message(STATUS "COMMONAPI_WAMP_INCLUDE_DIRS: ${COMMONAPI_WAMP_INCLUDE_DIRS}") -# Source Files -FILE(GLOB PRJ_LOCAL_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp) +include(FindPkgConfig) +# Add the Franca files (that will generate the CommonAPI stuff) +set(COMMONAPI_GEN_DIR "${CMAKE_CURRENT_BINARY_DIR}/src-gen") add_subdirectory(${FRANCA_DIR}/navigation/freetextsearchservice "${CMAKE_CURRENT_BINARY_DIR}/franca") -FILE(GLOB PRJ_STUB_GEN_SRCS ${PRJ_SRC_GEN_PATH}/*Stub*.cpp) -FILE(GLOB PRJ_STUB_GEN_TYPES ${PRJ_SRC_GEN_NAVIGATION_TYPES_PATH}/*Types*.cpp) -FILE(GLOB PRJ_WAMP_LIB_SRCS ${PRJ_SRC_GEN_PATH}/*Wamp*.cpp) +# Path to the generated files +set(API_VERSION_FRTS v1) +set(PRJ_SRC_GEN_FRTS_PATH ${COMMONAPI_GEN_DIR}/${API_VERSION_FRTS}/org/genivi/navigation/freetextsearchservice) +set(API_VERSION_COMMON v4) +set(PRJ_SRC_GEN_COMMON_PATH ${COMMONAPI_GEN_DIR}/${API_VERSION_COMMON}/org/genivi) +set(API_VERSION_NAVI v4) +set(PRJ_SRC_GEN_NAVI_PATH ${COMMONAPI_GEN_DIR}/${API_VERSION_NAVI}/org/genivi/navigation) -set(PRJ_SRCS ${PRJ_LOCAL_SRCS} ${PRJ_STUB_GEN_SRCS} ${PRJ_STUB_GEN_TYPES}) +# Source Files +FILE(GLOB PRJ_WAMP_LIB_SRCS + ${PRJ_SRC_GEN_COMMON_PATH}/*Wamp*.cpp + ${PRJ_SRC_GEN_NAVI_PATH}/*Wamp*.cpp + ${PRJ_SRC_GEN_FRTS_PATH}/*Wamp*.cpp + ) +FILE(GLOB PRJ_STUB_GEN_SRCS + ${PRJ_SRC_GEN_FRTS_PATH}/*StubDefault.cpp + ) +FILE(GLOB PRJ_STUB_IMPL_SRCS + ${CMAKE_CURRENT_SOURCE_DIR}/*Stub*.cpp + ) +FILE(GLOB PRJ_CURRENT_SRCS + ${CMAKE_CURRENT_SOURCE_DIR}/*Service.cpp + ) + +set(PRJ_SERVICE_SRCS ${PRJ_CURRENT_SRCS} ${PRJ_STUB_GEN_SRCS} ${PRJ_STUB_IMPL_SRCS}) include_directories( - ${PRJ_SRC_GEN_PATH} - ${DBUS_INCLUDE_DIRS} ${COMMONAPI_GEN_DIR} ${COMMONAPI_INCLUDE_DIRS} - ${COMMONAPI_DBUS_INCLUDE_DIRS} ${COMMONAPI_WAMP_INCLUDE_DIRS} ${WAMP_INCLUDE_DIRS} - ${GOBJECT_INCLUDE_DIRS} - ${GLIB_INCLUDE_DIRS} - ${SQLITE3_INCLUDE_DIRS} ) link_directories( - ${DBUS_LIBDIR} ${COMMONAPI_LIBDIR} - ${COMMONAPI_DBUS_LIBDIR} ${COMMONAPI_WAMP_LIBDIR} ${WAMP_LIBDIR} - ${GOBJECT_LIBRARY_DIRS} - ${GLIB_LIBRARY_DIRS} - ${SQLITE3_LIBRARY_DIRS} ) -set(LIBRARIES - ${DBUS_LIBRARIES} - ${COMMONAPI_LIBRARIES} - ${COMMONAPI_DBUS_LIBRARIES} - ${GOBJECT_LIBRARIES} - ${GLIB_LIBRARIES} - ${SQLITE3_LIBRARIES} -) +set(LINK_LIBRARIES -Wl,--no-as-needed -Wl,--as-needed CommonAPI) # Build service -set(LINK_LIBRARIES -Wl,--no-as-needed -Wl,--as-needed CommonAPI) -add_executable(${PROJECT_NAME} ${PRJ_SRCS}) -target_link_libraries(${PROJECT_NAME} ${LINK_LIBRARIES}) -install(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) +add_executable(${PROJECT_NAME_SERVICE} ${PRJ_SERVICE_SRCS}) +target_link_libraries(${PROJECT_NAME_SERVICE} ${LINK_LIBRARIES}) # Build gluecode.so -add_library (${PROJECT_NAME}-wamp SHARED ${PRJ_WAMP_LIB_SRCS}) -target_link_libraries(${PROJECT_NAME}-wamp CommonAPI-WAMP ${WAMP_LIBRARIES}) +add_library (${PROJECT_NAME_LIBRARY} SHARED ${PRJ_WAMP_LIB_SRCS}) +target_link_libraries(${PROJECT_NAME_LIBRARY} CommonAPI-WAMP ${WAMP_LIBRARIES}) +install(TARGETS ${PROJECT_NAME_SERVICE} DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) +install(TARGETS ${PROJECT_NAME_LIBRARY} DESTINATION ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}) diff --git a/src/freetextsearch-service-wamp/FreeTextSearchService.cpp b/src/freetextsearch-service-wamp/FreeTextSearchService.cpp new file mode 100644 index 0000000..ec5e662 --- /dev/null +++ b/src/freetextsearch-service-wamp/FreeTextSearchService.cpp @@ -0,0 +1,65 @@ +/** +* @licence app begin@ +* SPDX-License-Identifier: MPL-2.0 +* +* \copyright Copyright (C) 2015, 2016 TomTom International B.V. +* \copyright Copyright (C) 2018, PSA GROUPE +* \author Peter Goedegebure (Peter.Goedegebure@tomtom.com) +* \author Philippe Colliot +* \author Morteza Damavandpeyma +* This Source Code Form is subject to the terms of the +* Mozilla Public License (MPL), v. 2.0. +* If a copy of the MPL was not distributed with this file, +* You can obtain one at http://mozilla.org/MPL/2.0/. +* +* For further information see http://www.genivi.org/. +* +* List of changes: +* , , +* +* @licence end@ +*/ + +#include +#include + +#include + +#include "FreeTextSearchStubImpl.hpp" + +#define REGISTER_COUNTER 10 +#define REGISTER_SLEEP 50 +#define LOOP 500 + +using namespace v1::org::genivi::navigation::freetextsearchservice; + +int main(int argc, const char * const argv[]) +{ + CommonAPI::Runtime::setProperty("LibraryBase", "FreeTextSearch"); + + std::shared_ptr runtime = CommonAPI::Runtime::get(); + + std::string domain = "local"; + std::string instanceFrts = "FRTS"; + + // create service and register it at runtime + std::shared_ptr serviceFrts = std::make_shared(); + uint8_t counter=0; + bool successfullyRegistered = runtime->registerService(domain, instanceFrts, serviceFrts); + while (!successfullyRegistered) { + if(++counter>REGISTER_COUNTER){ + std::cout << "unable to register service: "<< instanceEnhp << std::endl; + return EXIT_FAILURE; + } + std::this_thread::sleep_for(std::chrono::milliseconds(REGISTER_SLEEP)); + successfullyRegistered = runtime->registerService(domain, instanceFrts, serviceFrts); + } + + std::cout << "Waiting for calls... (Abort with CTRL+C)" << std::endl; + while (true) { + std::this_thread::sleep_for(std::chrono::milliseconds(LOOP)); + } + + return 0; +} + diff --git a/src/freetextsearch-service-wamp/FreeTextSearchStubImpl.cpp b/src/freetextsearch-service-wamp/FreeTextSearchStubImpl.cpp index ef5b302..6e151cd 100644 --- a/src/freetextsearch-service-wamp/FreeTextSearchStubImpl.cpp +++ b/src/freetextsearch-service-wamp/FreeTextSearchStubImpl.cpp @@ -3,7 +3,7 @@ * SPDX-License-Identifier: MPL-2.0 * * \copyright Copyright (C) 2015, 2016 TomTom International B.V. - * \copyright Copyright (C) 2016, PCA Peugeot Citroen + * \copyright Copyright (C) 2018, PSA GROUPE * \author Peter Goedegebure (Peter.Goedegebure@tomtom.com) * \author Philippe Colliot * \author Morteza Damavandpeyma diff --git a/src/freetextsearch-service-wamp/main.cpp b/src/freetextsearch-service-wamp/main.cpp deleted file mode 100644 index 4f3d058..0000000 --- a/src/freetextsearch-service-wamp/main.cpp +++ /dev/null @@ -1,52 +0,0 @@ -/** -* @licence app begin@ -* SPDX-License-Identifier: MPL-2.0 -* -* \copyright Copyright (C) 2015, 2016 TomTom International B.V. -* \copyright Copyright (C) 2016, PCA Peugeot Citroen -* \author Peter Goedegebure (Peter.Goedegebure@tomtom.com) -* \author Philippe Colliot -* \author Morteza Damavandpeyma -* This Source Code Form is subject to the terms of the -* Mozilla Public License (MPL), v. 2.0. -* If a copy of the MPL was not distributed with this file, -* You can obtain one at http://mozilla.org/MPL/2.0/. -* -* For further information see http://www.genivi.org/. -* -* List of changes: -* , , -* -* @licence end@ -*/ - -#include -#include - -#include -#include "FreeTextSearchStubImpl.hpp" - -int main() -{ - CommonAPI::Runtime::setProperty("LibraryBase", "FreeTextSearch"); - - std::shared_ptr runtime = CommonAPI::Runtime::get(); - - std::string domain = "local"; - std::string instance = "org.genivi.navigation.freetextsearchservice"; - std::string connection = "service"; - - // create service and register it at runtime - std::shared_ptr myService = - std::make_shared(); - runtime->registerService(domain, instance, myService); - std::cout << "Successfully Registered FTS Service!" << std::endl; - - while (true) { - std::cout << "Waiting for calls... (Abort with CTRL+C)" << std::endl; - std::this_thread::sleep_for(std::chrono::seconds(60)); - } - - return 0; -} - -- cgit v1.2.1