#!/bin/sh /etc/rc.common

START=99
USE_PROCD=1

validate_ffwizard_section()
{
	uci_validate_section ffwizard settings "${1}" \
		'enabled:bool' \
		'hostname:string' \
		'ip6prefix:cidr6' \
		'nodenumber:uinteger'
}

validate_ether_section()
{
	uci_validate_section ffwizard ether "${1}" \
		'enabled:bool' \
		'device:string' \
		'olsr_mesh:bool' 
}


validate_vpn_section()
{
	uci_validate_section ffwizard vpn "${1}" \
		'enabled:bool' \
		'device:string' \
		'olsr_mesh:bool' 
}

validate_wifi_section()
{
	uci_validate_section ffwizard wifi "${1}" \
		'enabled:bool' \
		'idx:uinteger' \
		'device:string' \
		'olsr_mesh:bool' \
		'vap:bool' 
}

start_ffwizard() {
	config_load ffwizard
	config_foreach system_config system
}

reload_service() {
	logger -s -t ffwizard_init "Reload Service"
	start_ffwizard
	/usr/sbin/ffwizard
	# restart vpn
	ifdown vpn && ifup vpn
	
}

service_triggers()
{
	procd_add_reload_trigger "ffwizard"

	procd_add_validation validate_ffwizard_section
	procd_add_validation validate_ether_section
	procd_add_validation validate_wifi_section
	procd_add_validation validate_vpn_section
}

start_service() {
	logger -s -t ffwizard_init "Start Service"
	procd_set_param watch ffwizard
	start_ffwizard
}
