#!/bin/sh
#  Script to run design tools connected to bb;
#  first parameter is logical name of command,
#  2nd parameter is terminal mode (text graphic script),
#  3rd parameter is a string/filename to be passed
#  to the design tool.
set $1
echo "anon script starting with $# parameters 1: $1 2: $2 3: $3"
case "$1" in
  manager)
    echo "project manager about to start"
    if test ! -f ${IFE_HOME}/sys/bin/prj ; then
      echo    "emulation	esp	${IFE_HOME}/lib/images/esp-r.ex"
      ${IFE_HOME}/sys/bin/anon_exrep ${IFE_HOME}/lib/images/esp-r.ex
      echo    "prj_complete	finished"
      exit 0
    fi

    if [ $# -lt 2 ]; then
      ${IFE_HOME}/sys/bin/prj 
      echo    "prj_complete	finished"
      exit 0
    else
      case "$2" in
        graphic)
          if [ -z "$3" ]; then
            ${IFE_HOME}/sys/bin/prj -mode $2
            echo    "prj_complete	finished"
          else
            ${IFE_HOME}/sys/bin/prj -mode $2 -file $3
            echo    "prj_complete	finished"
          fi
          ;;
        text|page)
          if [ -z "$3" ]; then
            xterm -e ${IFE_HOME}/sys/bin/prj -mode $2
            echo    "prj_complete	finished"
          else
            xterm -e ${IFE_HOME}/sys/bin/prj -mode $2 -file $3
            echo    "prj_complete	finished"
          fi
          ;;
        script)
# script mode needs a file to read from - this might be a 4th parameter?
          echo    "prj script mode not yet enabled"
          echo    "prj_complete	aborted"
          ;;
        *)
          echo    " attempting to use $2 as configuration file"
          ${IFE_HOME}/sys/bin/prj  -file $2
          echo    "prj_complete	finished"
          ;;
      esac
    fi
    ;;
  perspective)
    if test ! -f ${IFE_HOME}/sys/bin/viewer ; then
      echo    "emulation	viewer	${IFE_HOME}/lib/images/viewer_image.ex"
      ${IFE_HOME}/sys/bin/anon_exrep ${IFE_HOME}/lib/images/viewer_image.ex
      echo    "viewer_complete	finished"
      exit 0
    fi
    echo "viewer about to start"
    if [ $# -lt 2 ]; then
      echo "Usage is perspective [graphic|text|page|script] file_name"
      ${IFE_HOME}/sys/bin/viewer
      echo "perspective_complete	aborted"
      exit 0
    else
      case "$2" in
        graphic|text|page)
          if [ -z "$3" ]; then
            ${IFE_HOME}/sys/bin/viewer -mode $2
            echo    "prj_complete	finished"
          else
            ${IFE_HOME}/sys/bin/viewer -mode $2 -file $3
            echo    "prj_complete	finished"
          fi
          ;;
        script)

rm -f /tmp/viewer.pic
${IFE_HOME}/sys/bin/viewer -mode script -file $3 > /dev/null 2>/dev/null <<.
$3
O
/tmp/viewer.pic
B
y
.
echo    "perspective_complete	/tmp/viewer.pic"
          ;;
        *)
          echo    " attempting to use $2 as configuration file"
          ${IFE_HOME}/sys/bin/viewer  -file $2
          echo    "prj_complete	finished"
          ;;
      esac
    fi
    ;;

  results_analysis) 
    res -mode graphic -file UNKNOWN
    echo    "res_complete	finished"
    ;;

  tsbi3)
    echo "tsbi3 about to start"
    if test ! -f ${IFE_HOME}/sys/bin/tsbi3 ; then
      echo    "emulation	tsbi3	${IFE_HOME}/lib/images/tsbi.ex"
      ${IFE_HOME}/sys/bin/anon_exrep ${IFE_HOME}/lib/images/tsbi3.ex
      echo    "tsbi_complete	finished"
      exit 0
    fi
    ;;

  radiance)
    echo "radiance desktop about to start"
    if test ! -f ${IFE_HOME}/sys/bin/e2r ; then
      echo    "emulation	radiance	${IFE_HOME}/lib/images/radiance.ex"
      ${IFE_HOME}/sys/bin/anon_exrep ${IFE_HOME}/lib/images/radiance.ex
      echo    "radiance_complete	finished"
      exit 0
    echo "radiance desktop about to start"
    if [ $# -lt 2 ]; then
      ${IFE_HOME}/sys/bin/e2r
      echo    "radiance_complete	finished"
      exit 0
    fi
    ;;

  simulator)
    if test ! -f ${IFE_HOME}/sys/bin/simulator ; then
      echo    "emulation	simulator	${IFE_HOME}/lib/images/simulator_image.xwd"
      xwud -in ${IFE_HOME}/lib/images/simulator_image.xwd
      echo    "simulator_complete	finished"
      exit 0
    fi
    echo "simulator about to start"
    if [ $# -lt 2 ]; then
      ${IFE_HOME}/sys/bin/simulator
      echo    "simulation_complete	finished"
      exit 0
    fi
    case "$2" in
# User is starting up simulator in interactive mode.
      graphic|text|page)
        if [ -z "$3" ]; then
          ${IFE_HOME}/sys/bin/simulator -mode $2
          echo    "simulation_complete	finished"
        else
          ${IFE_HOME}/sys/bin/simulator -mode $2 -file $3
          echo    "simulation_complete	finished"
        fi
        ;;
      script)
# script mode needs a file to read from - this might be a 4th parameter?
        echo    "bps script mode not yet enabled"
        ;;
      *)
        echo    " attempting to use $2 as configuration file"
        ${IFE_HOME}/sys/bin/simulator  -file $2
        echo    "simulation_complete	finished"
        ;;
    esac
    ;;

  viewer) 
    if test ! -f ${IFE_HOME}/sys/bin/viewer ; then
      echo    "emulation	viewer	${IFE_HOME}/lib/images/viewer_image.ex"
      ${IFE_HOME}/sys/bin/anon_exrep ${IFE_HOME}/lib/images/viewer_image.ex
      echo    "viewer_complete	finished"
      exit 0
    else
      ${IFE_HOME}/sys/bin/viewer
      echo    "viewer_complete	finished"
    fi
    ;;

  xzip) 
    if test ! -f ${IFE_HOME}/sys/bin/xzip ; then
      echo    "emulation	zip	${IFE_HOME}/lib/images/xzip_image.ex"
      ${IFE_HOME}/sys/bin/anon_exrep ${IFE_HOME}/lib/images/xzip_image.ex
      echo    "zip_complete	finished"
      exit 0
    else
      ${IFE_HOME}/sys/bin/xzip
      echo    "zip_complete	finished"
    fi
    ;;

  autocad)
# no additional parameters for autocad... 
    if test ! -f ${IFE_HOME}/sys/bin/acad ; then
      echo    "emulation	aec	${IFE_HOME}/lib/images/acad_image.ex"
      ${IFE_HOME}/sys/bin/anon_exrep ${IFE_HOME}/lib/images/acad_image.ex
      echo    "autocad_complete	finished"
      exit 0
    else
      echo    "AutoCAD would start at this point"
      xwud -in ${IFE_HOME}/lib/images/acad_image.xwd
      echo    "autocad_complete	finished"
    fi
    ;;

   *)
    echo    "appl_complete	unknown command"
    ;;
esac
