#! /bin/sh
### BEGIN INIT INFO
# Provides:          mdm
# Required-Start:    $remote_fs
# Required-Stop:     $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: MDM MetricsExtension
# Description:       mdm is Multi-Dimensional Metrics (MDM) MetricsExtension daemon
### END INIT INFO

#
# Author: Azure Linux Team <azlinux@microsoft.com>
#

PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="MDM MetricsExtension"
DAEMONNAME=mdm

BINNAME=MetricsExtension
BINFULLPATH=/usr/sbin/$BINNAME

# The option is overwritten by option defined in /etc/default/mdm
MDM_OPTIONS="-Service"
PIDFILE=/var/run/MetricsExtension.pid

SCRIPTNAME=/etc/init.d/$DAEMONNAME

# Exit if the package is not installed
[ -x "$BINFULLPATH" ] || exit 0

# Read configuration variable file if it is present
[ -r /etc/default/$DAEMONNAME ] && . /etc/default/$DAEMONNAME

# Define LSB log_* functions.
. /lib/lsb/init-functions

do_start()
{
    DAEMON="$BINFULLPATH"

    # Return
    #   0 if daemon has been started
    #   1 if daemon was already running
    #   other if daemon could not be started or a failure occurred

    # Use 'eval' to keep any quote used in ${MDM_OPTIONS}
    eval start-stop-daemon --start --pidfile $PIDFILE --exec $DAEMON -- "${MDM_OPTIONS}"
}

do_stop()
{
    # Return
    #   0 if daemon has been stopped
    #   1 if daemon was already stopped
    #   other if daemon could not be stopped or a failure occurred
    start-stop-daemon --stop --retry=TERM/30/KILL/15 --pidfile $PIDFILE --exec $BINFULLPATH
}

case "$1" in
  start)
    log_daemon_msg "Starting $DESC"
    do_start
    case "$?" in
        0) log_end_msg 0 ;;
        1) log_progress_msg "already started"
           log_end_msg 0 ;;
        *) rm -f $PIDFILE
           log_end_msg 1 ;;
    esac

    ;;
  stop)
    log_daemon_msg "Stopping $DESC"
    do_stop
    case "$?" in
        0) log_end_msg 0 ;;
        1) log_progress_msg "already stopped"
           log_end_msg 0 ;;
        *) log_end_msg 1 ;;
    esac
    rm -f $PIDFILE
    ;;
  restart|force-reload)
    $0 stop
    $0 start
    ;;
  status)
    status_of_proc -p $PIDFILE $BINFULLPATH $BINNAME && exit 0 || exit $?
    ;;
  *)
    echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload|status}" >&2
    exit 3
    ;;
esac

:
