# 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 = [
    ":dlcservice-proxies",
  ]
}

generate_dbus_proxies("dlcservice-proxies") {
  dbus_service_config = "../dbus_adaptors/dbus-service-config.json"
  proxy_output_file = "include/dlcservice/dbus-proxies.h"
  mock_output_file = "include/dlcservice/dbus-proxy-mocks.h"
  proxy_path_in_mocks = "dlcservice/dbus-proxies.h"
  sources = [
    "../dbus_adaptors/org.chromium.DlcServiceInterface.xml",
  ]
}
