#
# Copyright (C) 2014 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

description   "Run the access point manager daemon"
author        "chromium-os-dev@chromium.org"

start on stopped iptables and stopped ip6tables and started shill
stop on stopping system-services

env APMANAGER_LOG_LEVEL=0

pre-start script
  # Load the module that provides the WiFi configuration API, since
  # apmanager will abort if that API is not available. In most cases,
  # cfg80211 will be loaded implicitly when the device driver is
  # loaded (in preload-network).  However, this deals with the
  # first-boot case, in case apmanager starts before the device driver is
  # loaded.
  modprobe cfg80211 ||
    logger -p err -t "$UPSTART_JOB" "Failed to load cfg80211"

  # Create directory for storing config files.
  mkdir -m 0755 -p /var/run/apmanager/hostapd
  mkdir -m 0755 -p /var/run/apmanager/dnsmasq
  chown -R apmanager:apmanager /var/run/apmanager/hostapd
  chown -R apmanager:apmanager /var/run/apmanager/dnsmasq
end script

exec /usr/bin/apmanager --v="${APMANAGER_LOG_LEVEL}"
