#!/usr/bin/env bash

BINARY=/usr/lib/cuwb/viewer/cuwb-viewer
LOGFILE=/var/log/cuwb/viewer/cuwb_viewer.log 

UP_LINE="\033[A"
CLEAR_LINE="\033[K"

set -e
trap 'case $? in
        139) 
          echo -en "$UP_LINE"
          echo -en "$CLEAR_LINE"
          echo "CUWB Viewer terminated unexpectedly [ Segfault ]"
          echo `date` - SEGFAULT >> $LOGFILE
          echo -e "\n\n" >> $LOGFILE
          ;;
      esac' EXIT

usage(){
  cat <<EOF
Usage: cuwb-viewer
  or:  cuwb-viewer --version
3D visualization tool for CUWB location systems
 More information is available at www.ciholas.com

optional arguments:
  --version    Reports the version
EOF
}

dependency_check(){
    if [ -z $XDG_DATA_DIRS ]; then
        echo "A desktop environment is required (ie: ubuntu-desktop)"
        exit 1
    fi
}

case $# in
  0) 
      dependency_check
      $BINARY |& awk -W interactive '{ print strftime("[%Y-%m-%d %H:%M:%S]"), $0 }' >> $LOGFILE 2>&1; exit $?;;
  1)
    case $1 in
      --version) echo "Version: 2.1.1";;
      --help | -h) usage ;;
      *) usage; exit 1 ;;
    esac
    ;;
  *) usage; exit 1 ;;
esac

exit 0
