#!/bin/sh

exec 1>/dev/null 2>&1

SDCARD_DEV=
MASS_STORAGE_FILE=/sys/devices/virtual/android_usb/android0/f_mass_storage/lun/file
SDCARD_MOUNT_PATH=/media/card

ORIGIN_ACCESS_MODE=`uci get storageshare.property.access_mode`
ORIGIN_IFANON=`uci get storageshare.property.ifanon`
ORIGIN_IFRW=`uci get storageshare.property.ifrw`

#Save StorageShare Configure
if [ ${ORIGIN_ACCESS_MODE}!=$1 ]
  then
    uci set storageshare.property.access_mode=$1
fi

if [ ${ORIGIN_IFANON}!=$2 ]
  then
    uci set storageshare.property.ifanon=$2
fi

if [ ${ORIGIN_IFRW}!=$3 ]
  then
    uci set storageshare.property.ifrw=$3
fi

if [ ${ORIGIN_ACCESS_MODE}!=$1 -o ${ORIGIN_IFANON}!=$2 -o ${ORIGIN_IFRW}!=$3 ]
  then
    echo "commit storageShare config"
    uci commit storageshare
fi

ls /dev | grep "mmc*"
if test ! $? -eq 0
then
  echo "" > ${MASS_STORAGE_FILE}
  stop_samba
  stop_vsftpd
  stop_mdlog
  exit 1
fi

if [ `ls /dev | grep mmcblk0p1 | wc -l` -ge 1 ]; then
  SDCARD_DEV=/dev/mmcblk0p1
else
  if [ `ls /dev | grep mmcblk0 | wc -l` -ge 1 ]; then
    SDCARD_DEV=/dev/mmcblk0
  else
    exit 1
  fi
fi

#Chang SD-card access mode
case "$1" in
  0)
    echo "Change SD-card access mode = usb"
    echo "stop samba"
    stop_samba
    echo "stop vsftpd"
    stop_vsftpd
    echo "stop mdlog"
    stop_mdlog
    df | grep ${SDCARD_MOUNT_PATH}
    if test $? -eq 0
    then
        umount ${SDCARD_MOUNT_PATH}
    fi
    echo "${SDCARD_DEV}" > ${MASS_STORAGE_FILE}
    ;;
  1)
    echo "Change SD-card access mode = wifi"
    echo "stop samba"
    stop_samba
    echo "stop vsftpd"
    stop_vsftpd
    echo "stop mdlog"
    stop_mdlog
    echo "" > ${MASS_STORAGE_FILE}
    df | grep ${SDCARD_MOUNT_PATH}
    if test ! $? -eq 0
    then
        echo "mount SD-card"
        umount ${SDCARD_DEV}
        mount -t vfat -o utf8 -o fmask=0 -o dmask=0 ${SDCARD_DEV} ${SDCARD_MOUNT_PATH}
        ntfs-3g -o utf8 -o fmask=0 -o dmask=0 ${SDCARD_DEV} ${SDCARD_MOUNT_PATH}
    fi
    case "$2" in
    0)
      echo "start samba signed"
      start_samba signed
      echo "start vsftpd signed"
      start_vsftpd signed
      ;;
    1)
      case "$3" in
        0)
          echo "start samba anony ro"
          start_samba anonro
          echo "start vsftpd anony ro"
          start_vsftpd anonro
          ;;
        1)
          echo "start samba anony rw"
          start_samba anonrw
          echo "start vsftpd anony rw"
          start_vsftpd anonrw
          ;;
        *)
          echo "Err: unknown param IFRW"
          exit 1
          ;;
      esac
      ;;
    *)
      echo "Err: unknown param IFANON"
      exit 1
      ;;
    esac
    ;;
  *)
    echo "Err: unknown param ACCESS_MODE"
    exit 1
    ;;
esac
echo "Change SD-card access mode finish"


exit $?
