summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjacobkeeler <jacob.keeler@livioradio.com>2020-05-21 13:49:21 -0400
committerjacobkeeler <jacob.keeler@livioradio.com>2020-05-21 13:49:21 -0400
commitbd153b1cb73a6c7c3158e9f4f4744fdc2441fb0e (patch)
tree696d1dbd463086ee6c256af30c5f46c7d6ea042e
parent4900a41b0759ddb4c35e445412b4c4ebd2149ab8 (diff)
downloadsdl_core-bd153b1cb73a6c7c3158e9f4f4744fdc2441fb0e.tar.gz
First version of daemon script from proposal
-rw-r--r--src/appMain/CMakeLists.txt10
-rw-r--r--src/appMain/core.sh28
-rw-r--r--src/appMain/core_external_proprietary.sh52
-rw-r--r--src/appMain/start.sh2
-rw-r--r--src/appMain/start_external_proprietary.sh23
5 files changed, 85 insertions, 30 deletions
diff --git a/src/appMain/CMakeLists.txt b/src/appMain/CMakeLists.txt
index 86be828c6b..b7fc045a9f 100644
--- a/src/appMain/CMakeLists.txt
+++ b/src/appMain/CMakeLists.txt
@@ -167,8 +167,8 @@ file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/smartDeviceLink.ini DESTINATION ${CMAKE_CU
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/hmi_capabilities.json DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/sdl_preloaded_pt.json DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/sample_policy_manager.py DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
-file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/start.sh DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
-file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/start_external_proprietary.sh DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
+file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/core.sh DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
+file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/core_external_proprietary.sh DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
if (CMAKE_SYSTEM_NAME STREQUAL "QNX")
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/init_policy.sh DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
endif ()
@@ -246,11 +246,11 @@ if (CMAKE_SYSTEM_NAME STREQUAL "QNX")
endif ()
if (${EXTENDED_POLICY} STREQUAL "EXTERNAL_PROPRIETARY")
- install(FILES start_external_proprietary.sh DESTINATION bin
+ install(FILES core_external_proprietary.sh DESTINATION bin
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ
- GROUP_EXECUTE WORLD_READ WORLD_EXECUTE RENAME start.sh)
+ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE RENAME core.sh)
else()
- install(FILES start.sh DESTINATION bin
+ install(FILES core.sh DESTINATION bin
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ
GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
endif()
diff --git a/src/appMain/core.sh b/src/appMain/core.sh
new file mode 100644
index 0000000000..4d3fbfce1e
--- /dev/null
+++ b/src/appMain/core.sh
@@ -0,0 +1,28 @@
+#!/bin/bash
+cd $(dirname $0)
+DIR=$(pwd)
+PID_FILE=$DIR/core.pid
+
+function core_start() {
+ echo "Starting SmartDeviceLinkCore"
+ LD_LIBRARY_PATH=$DIR ${DIR}/smartDeviceLinkCore &
+ PID=$!
+ echo $PID > $PID_FILE
+}
+
+function core_stop() {
+ echo "Stopping SmartDeviceLinkCore"
+ kill $(cat $PID_FILE)
+ rm $PID_FILE
+}
+
+if [ x$1 == xstop ]; then
+ core_stop
+elif [ x$1 == xrestart ]; then
+ core_stop
+ core_start
+elif [ x$1 == xstart ]; then
+ core_start
+else
+ echo "usage: core.sh [start/restart/stop]"
+fi
diff --git a/src/appMain/core_external_proprietary.sh b/src/appMain/core_external_proprietary.sh
new file mode 100644
index 0000000000..7857ea4258
--- /dev/null
+++ b/src/appMain/core_external_proprietary.sh
@@ -0,0 +1,52 @@
+#!/bin/bash
+cd $(dirname $0)
+DIR=$(pwd)
+CORE_PID_FILE=/var/run/core.pid
+PM_PID_FILE=/var/run/policy_manager.pid
+
+function core_start() {
+ echo "Starting SmartDeviceLinkCore"
+ LD_LIBRARY_PATH=$DIR ${DIR}/smartDeviceLinkCore &
+ CORE_PID=$!
+ echo $CORE_PID > $CORE_PID_FILE
+}
+
+function core_stop() {
+ echo "Stopping SmartDeviceLinkCore"
+ kill $(cat $CORE_PID_FILE)
+ rm $CORE_PID_FILE
+}
+
+function pm_start() {
+ pip3 list | grep -F tornado > /dev/null
+ if [ $? -eq 1 ]; then
+ echo "Installing tornado python package"
+ sudo pip3 install tornado
+ fi
+ echo "Starting Policy Manager"
+ python3 ${DIR}/sample_policy_manager.py --pack_port 8088 --unpack_port 8089 --add_http_header --encryption &
+ PM_PID=$!
+ echo $PM_PID > $PM_PID_FILE
+}
+
+function pm_stop() {
+ echo "Stopping Policy Manager"
+ kill -INT $(cat $PM_PID_FILE)
+ kill -9 $(cat $PM_PID_FILE)
+ rm $PM_PID_FILE
+}
+
+if [ x$1 == xstop ]; then
+ core_stop
+ pm_stop
+elif [ x$1 == xrestart ]; then
+ core_stop
+ pm_stop
+ core_start
+ pm_start
+elif [ x$1 == xstart ]; then
+ core_start
+ pm_start
+else
+ echo "usage: core.sh [start/restart/stop]"
+fi
diff --git a/src/appMain/start.sh b/src/appMain/start.sh
deleted file mode 100644
index ea6dea9d50..0000000000
--- a/src/appMain/start.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/bash
-LD_LIBRARY_PATH=. ./smartDeviceLinkCore \ No newline at end of file
diff --git a/src/appMain/start_external_proprietary.sh b/src/appMain/start_external_proprietary.sh
deleted file mode 100644
index 35d4fe900c..0000000000
--- a/src/appMain/start_external_proprietary.sh
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/bin/bash
-pip3 list | grep -F tornado > /dev/null
-
-if [ $? -eq 1 ]
- then
- echo "Installing tornado python package"
- sudo -H pip3 install tornado
-fi
-
-echo "Starting Policy Manager"
-python3 sample_policy_manager.py --pack_port 8088 --unpack_port 8089 --add_http_header --encryption &
-POLICY_MANAGER=$!
-
-trap ctrl_c INT
-
-function ctrl_c() {
- echo "Stopping SmartDeviceLinkCore"
- kill -INT $POLICY_MANAGER
- kill -9 $POLICY_MANAGER
-}
-
-echo "Starting SmartDeviceLinkCore"
-LD_LIBRARY_PATH=. ./smartDeviceLinkCore