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

import("//build/config/features.gni")

source_set("power_monitor") {
  public = [ "make_power_monitor_device_source.h" ]
  deps = [ "//base" ]

  if (is_linux && use_dbus) {
    # Use the D-Bus-based implementation on Linux builds when enabled.
    public += [ "power_monitor_device_source_linux.h" ]
    sources = [
      "make_power_monitor_device_source_linux.cc",
      "power_monitor_device_source_linux.cc",
    ]
    deps += [
      "//components/dbus",
      "//dbus",
    ]
  } else {
    # Use the //base implementation everywhere else.
    sources = [ "make_power_monitor_device_source_default.cc" ]
  }
}

if (is_linux && use_dbus) {
  source_set("unit_tests") {
    testonly = true
    sources = [ "power_monitor_device_source_linux_unittest.cc" ]
    deps = [
      ":power_monitor",
      "//base",
      "//base/test:test_support",
      "//components/dbus",
      "//dbus",
      "//dbus:test_support",
      "//testing/gmock",
      "//testing/gtest",
    ]
  }
}
