X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=scripts%2Fafm-util;h=bbab51b2452e9929919186b5e0429095ab4e26ca;hb=6c8c1c133c67c46950e8eb41ec771acec5a9ce0d;hp=60434a7410633c1a079e110470d668ed4b29d22b;hpb=2ddd0a58dae834f173277e51488f6ba30f1cad6a;p=src%2Fapp-framework-main.git diff --git a/scripts/afm-util b/scripts/afm-util index 60434a7..bbab51b 100755 --- a/scripts/afm-util +++ b/scripts/afm-util @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash if [ "x" = "x${DBUS_SESSION_BUS_ADDRESS}" ]; then DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/$UID/bus" @@ -6,11 +6,19 @@ fi export DBUS_SESSION_BUS_ADDRESS pretty() { - sed \ - -e '/^method return .*/d' \ - -e 's/^Error org.freedesktop.DBus.Error.Failed: "\?\(.*\)"\?$/ERROR: \1/' \ - -e 's/^ string "\(.*\)"/\1/' \ - -e 's/},/&\n/' + sed ' /^method return .*/d + s/^Error org.freedesktop.DBus.Error.Failed: "\?\(.*\)"\?$/ERROR: \1/ + s/^ string "\(.*\)"/\1/ + s:[[{,]:&\n:g + s: *[]}]:\n&:g + ' | + sed ' s:^ *:: + s: *$:: + /[]}],*$/ {x;s:...::;x} + G + /[[{]\n/ {x;s:$: :;x} + s:^\(.*[^\n]\)\n\( *\)$:\2\1: + ' } send() { @@ -20,6 +28,7 @@ send() { org.AGL.afm.user.$1 \ "string:$2" | pretty + return ${PIPESTATUS[0]} } case "$1" in @@ -52,6 +61,16 @@ case "$1" in send start "\"$i\"" ;; + run-remote|start-remote) + i=$2 + send start '{"id":"'"$i"'","mode":"remote"}' + ;; + + once) + i=$2 + send once "\"$i\"" + ;; + terminate|kill) i=$2 send terminate "$i" @@ -59,12 +78,12 @@ case "$1" in stop|pause) i=$2 - send stop "$i" + send pause "$i" ;; resume|continue) i=$2 - send continue "$i" + send resume "$i" ;; state|status) @@ -96,17 +115,19 @@ The commands are: run id start id start an instance of the widget of id + once id run once an instance of the widget of id + kill rid - terminate rid terminate the running instance rid + terminate rid terminate the running instance rid stop rid - pause rid stop the running instance rid + pause rid pause the running instance rid resume rid - continue rid continue the previously rid + continue rid continue the previously paused rid status rid - state rid get status of the running instance rid + state rid get status of the running instance rid EOC ;;