# Copyright 2016 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/cobalt_config/metrics_registry.gni")

visibility = [ "//src/ledger/*" ]

metrics_registry("ledger_metrics_registry") {
  # This must match the name of our Cobalt project as specified in:
  # https://cobalt-analytics.googlesource.com/config/+/refs/heads/master/projects.yaml
  project_name = "fuchsia_ledger"
  generate_cc = true
  namespace = "cobalt_registry"
  generate_binarypb = false
}

source_set("cobalt") {
  sources = [
    "cobalt.cc",
    "cobalt.h",
  ]

  public_deps = [
    "//sdk/lib/sys/cpp",
    "//src/lib/fxl",
  ]

  deps = [
    ":ledger_metrics_registry_cc",
    "//garnet/public/lib/backoff",
    "//garnet/public/lib/callback",
    "//src/lib/cobalt/cpp:cobalt_logger",
    "//zircon/public/fidl/fuchsia-cobalt",
  ]

  configs += [ "//src/ledger:ledger_config" ]
}
