# Copyright 2018 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("//third_party/flatbuffers/flatbuffer.gni")

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

source_set("public") {
  sources = [
    "ledger_communicator.h",
    "page_communicator.h",
    "user_communicator.h",
    "user_communicator_factory.h",
  ]

  public_deps = [
    "//garnet/public/lib/fxl",
    "//peridot/bin/ledger/p2p_provider/public",
    "//peridot/bin/ledger/storage/public",
  ]

  deps = []
}
