#!/bin/sh /etc/rc.common
# Copyright (C) 2014-2018 OpenWrt.org
. /usr/share/libubox/jshn.sh

json_init
json_load_file /etc/xnet_modems.json

index=0

dump_item() {

if [ "$2" = "at" ]; then
 echo "$2:'$1' and $3"
 printf "\n\n">>/var/smsd.conf
 printf "[$3]">>/var/smsd.conf
 printf "\n">>/var/smsd.conf
 printf "device = /dev/$1\n">>/var/smsd.conf
 printf "incoming = yes\n">>/var/smsd.conf
 printf "baudrate = 115200">>/var/smsd.conf
fi

}

check_at_port() {

if [ "$2" = "at" ]
then
   if [ $index -ge 1 ]
   then
     printf ",">>/var/smsd.conf
    fi

   printf "$3">>/var/smsd.conf
   index=$((index+1))
fi

}

START=94

USE_PROCD=1

# If an unpriviledged user is selected, make sure that next two
# files are writable by that user:
PIDFILE="/var/run/smsd.pid"
INFOFILE="/var/run/smsd.working"

DAEMON=/usr/bin/cellulard2_iwr202

# Set/edit this before starting service !!!!!
WRT_SPOOL=/var/spool

start_service() {
	echo "Creating minimum spool directories"
	mkdir -p $WRT_SPOOL
	mkdir -p $WRT_SPOOL/sms
	mkdir -p $WRT_SPOOL/sms/incoming
	mkdir -p $WRT_SPOOL/sms/outgoing
	mkdir -p $WRT_SPOOL/sms/checked
	mkdir -p $WRT_SPOOL/sms/failed
	mkdir -p $WRT_SPOOL/sms/sent

  cp /etc/smsd.conf /var/smsd.conf
  printf 'devices = '>>/var/smsd.conf
  json_for_each_item "check_at_port" "LTE1" "LTE1"
  json_for_each_item "check_at_port" "LTE2" "LTE2"

  json_for_each_item "dump_item" "LTE1" "LTE1"
  json_for_each_item "dump_item" "LTE2" "LTE2"

	procd_open_instance

	procd_set_param command $DAEMON -n MAINPROCESS -p$PIDFILE -i$INFOFILE
	procd_set_param respawn
	procd_set_param stdout 1

	procd_close_instance
}


