summaryrefslogtreecommitdiffstats
path: root/bin/4a-api
diff options
context:
space:
mode:
Diffstat (limited to 'bin/4a-api')
-rwxr-xr-xbin/4a-api78
1 files changed, 78 insertions, 0 deletions
diff --git a/bin/4a-api b/bin/4a-api
new file mode 100755
index 0000000..694397f
--- /dev/null
+++ b/bin/4a-api
@@ -0,0 +1,78 @@
+#!/bin/bash
+
+# load shell lib
+. $(dirname $BASH_SOURCE)/lib4a-tools.sh
+
+cmd=$1
+shift
+
+function usage() {
+ log "Usage: $0 <cmd> [opts]"
+ log "Commands:"
+ log " help: show this help"
+ log " api <verb> [args]: send direct request to API verb with args"
+ log " roles: get AHL roles"
+ log " hals [-a|--all] [-v|--verbose]: get HALs status"
+ log " mediascanner ... : interact with mediascanner service"
+ log " example: 4a-api mediascanner media_result \"\""
+ log " mediaplayer ... : interact with mediaplayer service"
+ log " example: 4a-api mediaplayer playlist \"\""
+ log " radio ... : interact with radio service"
+ exit 1
+}
+
+case $cmd in
+ roles)
+ 4a-client ahl-4a get_roles ""
+ ;;
+ api)
+ 4a-client "$@"
+ ;;
+ hals)
+ verbose=false
+ all=false
+ while [[ -n "$1" ]]; do
+ case $1 in
+ -a|--all) all=true;;
+ -v|--verbose) verbose=true;;
+ -av) all=true; verbose=true;;
+ esac
+ shift
+ done
+ 4a-client 4a-hal-manager loaded "{'verbose':$verbose,'all':$all}"
+ ;;
+ mediascanner)
+ mediascanner-client "$@"
+ ;;
+ mediaplayer)
+ mediaplayer-client "$@"
+ ;;
+ radio)
+ echo "TODO"
+ ;;
+ help|-h|--help)
+ usage
+ ;;
+ *)
+ error "Invalid command"
+ usage
+ ;;
+esac
+
+# commandes HAL manager:
+# 4a-hal-manager loaded
+# 4a-hal-manager loaded { "verbose": true } <= +metadata
+# 4a-hal-manager loaded { "all": true } <= hals avec un json
+# 4a-hal-manager loaded { "all": true, "verbose":true }
+
+# open/close multimedia
+#afb-client-demo -H -d $WS4A << EOF
+#multimedia { "action":"open" }
+#multimedia { "action":"close" }
+#EOF
+
+# volume multimedia
+#afb-client-demo -H -d $WS4A << EOF
+#multimedia { "action":"open" }
+#multimedia { "action":"close" }
+#EOF