#
# 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 /run/apmanager/hostapd
  mkdir -m 0755 -p /run/apmanager/dnsmasq
  chown -R apmanager:apmanager /run/apmanager/hostapd
  chown -R apmanager:apmanager /run/apmanager/dnsmasq
end script

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