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

visibility = [
  "//peridot/bin/*",
  "//peridot/lib/*",
]

source_set("firebase") {
  sources = [
    "encoding.cc",
    "encoding.h",
    "event_stream.cc",
    "event_stream.h",
    "firebase.h",
    "firebase_impl.cc",
    "firebase_impl.h",
    "status.cc",
    "status.h",
    "watch_client.h",
  ]

  public_deps = [
    "//garnet/public/lib/network_wrapper",
    "//peridot/lib/convert",
    "//third_party/rapidjson",
  ]

  deps = [
    "//garnet/public/lib/callback",
    "//garnet/public/lib/fsl",
    "//peridot/lib/base64url",
    "//peridot/lib/socket",
    "//src/lib/fxl",
  ]
}

source_set("unittests") {
  testonly = true

  sources = [
    "encoding_unittest.cc",
    "event_stream_unittest.cc",
    "firebase_impl_unittest.cc",
  ]

  deps = [
    ":firebase",
    "//garnet/public/lib/gtest",
    "//garnet/public/lib/network_wrapper:fake",
    "//peridot/lib/convert",
    "//peridot/lib/socket",
    "//src/lib/fxl",
    "//third_party/googletest:gtest",
  ]
}
