Add configuration variables for runtime socket dirs
[src/app-framework-main.git] / scripts / afm-util.in
diff --git a/scripts/afm-util.in b/scripts/afm-util.in
new file mode 100755 (executable)
index 0000000..40bc7da
--- /dev/null
@@ -0,0 +1,117 @@
+#!/bin/bash
+
+send() {
+       afb-client-demo -H -d unix:@afm_platform_rundir@/apis/ws/afm-main "$1" "$2" |
+       awk '$1=="ON-REPLY-FAIL"{$1="ERROR:";$2="";print;exit 1;}NR>1'
+}
+
+case "$1" in
+
+  list|runnables)
+    send runnables true
+    ;;
+
+  add|install)
+    f=$(realpath $2)
+    r=true
+    if [[ "$(basename $0)" = "afm-install" ]]; then r=false; fi
+    send install '{"wgt":"'"$f"'","force":true,"reload":'"$r"'}'
+    ;;
+
+  remove|uninstall)
+    i=$2
+    send uninstall "\"$i\""
+    ;;
+
+  info|detail)
+    i=$2
+    send detail "\"$i\""
+    ;;
+
+  ps|runners)
+    send runners true
+    ;;
+
+  run|start)
+    i=$2
+    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"
+    ;;
+
+  stop|pause)
+    i=$2
+    send pause "$i"
+    ;;
+
+  resume|continue)
+    i=$2
+    send resume "$i"
+    ;;
+
+  state|status)
+    i=$2
+    send state "$i"
+    ;;
+
+  -h|--help|help)
+    cat << EOC
+usage: $(basename $0) command [arg]
+
+The commands are:
+
+  list
+  runnables      list the runnable widgets installed
+
+  add wgt
+  install wgt    install the wgt file
+
+  remove id
+  uninstall id   remove the installed widget of id
+
+  info id
+  detail id      print detail about the installed widget of id
+
+  ps
+  runners        list the running instance
+
+  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
+
+  stop rid
+  pause rid      pause the running instance rid
+
+  resume rid
+  continue rid   continue the previously paused rid
+
+  status rid
+  state rid      get status of the running instance rid
+
+EOC
+    ;;
+
+  *)
+    echo "unknown command $1" >&2
+    exit 1
+    ;;
+esac
+
+