# Copyright 2019 The ChromiumOS Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

description    "Start the wilco DTC dispatcher service"
author         "chromium-os-dev@chromium.org"

# Start the wilco_dtc_dispatcher marker job, which is responsible for managing
# lifetime of wilco DTC (diagnostics and telemetry controller) related jobs
# (currently, wilco_dtc_supportd and wilco_dtc).
#
# Standard usage:
#   start on starting wilco_dtc_dispatcher
#   stop on stopped wilco_dtc_dispatcher
#
# Jobs that depend on wilco_dtc_dispatcher as described above can assume the
# following:
# * The wilco DTC is allowed by a corresponding device policy.
# * An affiliated-user / no user is logged in.
stop on stopping system-services
