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

static_library("google_analytics") {
  # This library only provides an abstract class for Google Analytics client, which leaves the
  # actual HTTP communications as implementation details. Currently we only provide an
  # implementation specific to zxdb and fidlcat. Please feel free to contact the owners if you
  # would like to add support to other C++ programs.
  visibility = [
    "//src/developer/debug/zxdb/console:*",
    "//src/lib/analytics/cpp/*",
    "//tools/fidlcat/lib:*",
  ]

  sources = [
    "client.cc",
    "client.h",
    "event.cc",
    "event.h",
    "general_parameters.cc",
    "general_parameters.h",
  ]

  public_deps = [ "//zircon/public/lib/fit" ]

  deps = [
    "//sdk/lib/syslog/cpp",
    "//src/lib/fxl",
  ]
}
