# Copyright 2016 The Chromium 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("//chromecast/chromecast.gni")

group("utility") {
  public_deps = [ ":utility_base" ]
}

cast_source_set("utility_base") {
  sources = [
    "cast_content_utility_client.cc",
    "cast_content_utility_client.h",
  ]

  public_deps = [
    "//base",
    "//content/public/utility",
    "//mojo/public/cpp/bindings",
    "//mojo/public/cpp/system",
    "//services/service_manager/public/mojom",
  ]
}

cast_source_set("simple_client") {
  sources = [ "cast_content_utility_client_simple.cc" ]

  public_deps = [ ":utility_base" ]
}
