# Copyright 2018 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//common-mk/pkg_config.gni")
import("//common-mk/generate-dbus-proxies.gni")

group("all") {
  deps = [
    ":libpower_manager-client-headers",
  ]
}

# power_manager client library generated headers. Used by other daemons to
# interact with power_manager.
generate_dbus_proxies("libpower_manager-client-headers") {
  dbus_service_config = "../dbus_bindings/dbus-service-config.json"
  proxy_output_file = "include/power_manager/dbus-proxies.h"
  mock_output_file = "include/power_manager/dbus-proxy-mocks.h"
  proxy_path_in_mocks = "power_manager/dbus-proxies.h"
  sources = [
    "../dbus_bindings/org.chromium.PowerManager.xml",
  ]
}
