#!/bin/sh /etc/rc.common
# Copyright (C) 2016 Aleksander Morgado <aleksander@aleksander.es>

USE_PROCD=1
START=70

stop_service() {
	# Load common utils
	. /usr/share/ModemManager/modemmanager.common
	# Set all configured interfaces as unavailable
	mm_cleanup_interfaces
}

start_service() {
	# Load common utils
	. /usr/share/ModemManager/modemmanager.common

	# Always make sure the rundir exists
	mkdir -m 0755 -p "${MODEMMANAGER_RUNDIR}"

	# Initially set all configured interfaces as unavailable
	mm_cleanup_interfaces

	# Report cached events (will wait for MM to be launched)
	( mm_report_events_from_cache ) >/dev/null 2>&1 &

	# Setup ModemManager service
	procd_open_instance
	procd_set_param command /usr/sbin/ModemManager
	procd_set_param respawn "${respawn_threshold:-3600}" "${respawn_timeout:-5}" "${respawn_retry:-5}"
	procd_set_param pidfile "${MODEMMANAGER_PID_FILE}"
	procd_close_instance
}
