# Copyright 2017 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.

visibility = [ "//peridot/bin/ledger/*" ]

source_set("coroutine") {
  sources = [
    "coroutine.h",
    "coroutine_impl.cc",
    "coroutine_impl.h",
    "coroutine_manager.h",
    "coroutine_waiter.h",
  ]

  public_deps = [
    "//garnet/public/lib/callback",
    "//garnet/public/lib/fxl",
  ]

  deps = [
    "//peridot/bin/ledger/coroutine/context",
  ]

  configs += [ "//peridot/bin/ledger:ledger_config" ]
}

source_set("unittests") {
  testonly = true

  sources = [
    "coroutine_manager_unittest.cc",
    "coroutine_unittest.cc",
    "coroutine_waiter_unittest.cc",
  ]

  deps = [
    ":coroutine",
    "//garnet/public/lib/fxl",
    "//third_party/googletest:gtest",
  ]

  configs += [ "//peridot/bin/ledger:ledger_config" ]
}
