#!/usr/bin/env bash set -euo pipefail # POS: share usb-server — USB Redirector server control (--ls, --share; prompts when args omitted) # POS_FLAGS: --ls --ls-shared --share --unshare --auto-share --callback --close-callback --auto-connect --disconnect --nickname --timeout --port --info --version source "$(dirname "$0")/../lib/common.sh" 2>/dev/null || source "$(dirname "$0")/common.sh" usage() { cat </dev/null \ || err "usbsrv not found — install the USB Redirector server (https://www.incentivespro.com/usb-server.html)" cmd="${1:-}" case "$cmd" in -h|--help|"") usage ;; esac case "$cmd" in --ls|--ls-shared|--share|--unshare|--auto-share|--callback|--close-callback|--auto-connect|--disconnect|--nickname|--timeout|--port|--info|--version) ;; *) err "Unknown flag '$cmd'" ;; esac case "$cmd" in --ls) cmd_ls ;; --ls-shared) cmd_ls_shared ;; --share) shift; cmd_share "$@" ;; --unshare) shift; cmd_unshare "$@" ;; --auto-share) shift; cmd_auto_share "$@" ;; --callback) shift; cmd_callback "$@" ;; --close-callback) shift; cmd_close_callback "$@" ;; --auto-connect) shift; cmd_auto_connect "$@" ;; --disconnect) shift; cmd_disconnect "$@" ;; --nickname) shift; cmd_nickname "$@" ;; --timeout) shift; cmd_timeout "$@" ;; --port) shift; cmd_port "$@" ;; --info) usbsrv -info ;; --version) usbsrv -version ;; *) err "Unknown flag '$cmd'"; usage ;; esac