# Copyright 2022 The Fuchsia 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("//build/cpp/sdk_source_set.gni")

sdk_source_set("cpp") {
  category = "experimental"
  sdk_name = "sys_component_cpp"
  include_base = "//sdk"

  sources = [
    "constants.h",
    "handlers.h",
    "outgoing_directory.cc",
    "outgoing_directory.h",
    "service_client.cc",
    "service_client.h",
  ]

  public_deps = [
    "//sdk/fidl/fuchsia.io:fuchsia.io_cpp_wire",
    "//sdk/lib/fdio",
    "//sdk/lib/fit",
    "//sdk/lib/fit-promise",
    "//sdk/lib/stdcompat",
    "//sdk/lib/svc",
    "//zircon/system/ulib/async",
    "//zircon/system/ulib/zx",
  ]

  public_configs = [ "//sdk/config" ]
}
