#!/bin/sh
#
# Copyright(C) 1993-2007 Adobe Systems Incorporated.  All rights reserved.
#
# Adobe Flash Media Server
#
# chkconfig: 345 81 81
# processname: fms
# description: Flash Media Server
#

# Environment variables
PATH=.:/bin:/usr/bin:/usr/local/bin:/sbin:$PATH
export PATH

# variables
prog="Adobe Flash Media Server"
SERVICES_DIR="/etc/adobe/fms/services"
RETVAL=0

# subroutines
start() {
  # start server services
  SERVICES=`ls "$SERVICES_DIR" | sed -e "/fmsadmin/d"`
  for SERVICE in $SERVICES; do
    DIR=`cat "$SERVICES_DIR/$SERVICE"`
    if [ -f "$DIR/.autostart" ]; then
      # start service
      cd "$DIR"
      ./server start -silent > /dev/null 2>&1
    fi
  done
  # start admin server service
  ADMIN_SERVICE=`cat "$SERVICES_DIR/fmsadmin"`
  DIR=`cat "$SERVICES_DIR/$ADMIN_SERVICE"`
  if [ -f "$DIR/.autostart" ]; then
    cd "$DIR"
    ./adminserver start > /dev/null 2>&1
  fi
}

stop() {
  # stop server services
  SERVICES=`ls "$SERVICES_DIR" | sed -e "/fmsadmin/d"`
  for SERVICE in $SERVICES; do
    DIR=`cat "$SERVICES_DIR/$SERVICE"`
    if [ -f "$DIR/.autostart" ]; then
      # stop service
      cd "$DIR"
      ./server stop > /dev/null 2>&1
    fi
  done
  # stop admin server service
  ADMIN_SERVICE=`cat "$SERVICES_DIR/fmsadmin"`
  DIR=`cat "$SERVICES_DIR/$ADMIN_SERVICE"`
  if [ -f "$DIR/.autostart" ]; then
    cd "$DIR"
    ./adminserver stop > /dev/null 2>&1
  fi
}

restart() {
  stop
  start
}

# main section

# check for services dir
if [ ! -d $SERVICES_DIR ]; then
  exit 1
fi

case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  restart)
    restart
    ;;
  *)
    echo $"Usage: $0 {start|stop|restart}"
    RETVAL=1
esac

exit $RETVAL

