# Copyright 2019 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

source_set("channel") {
  sources = [
    "channel/cast_auth_util.cc",
    "channel/cast_auth_util.h",
    "channel/message_util.cc",
    "channel/message_util.h",
    "channel/sender_socket_factory.cc",
    "public/sender_socket_factory.h",
  ]

  deps = [
    "../../third_party/abseil",
    "../common:channel",
    "../common/certificate/proto:certificate_proto",
    "../common/channel/proto:channel_proto",
  ]

  public_deps = [
    "../../platform",
    "../../third_party/boringssl",
    "../../util",
    "../common:certificate",
    "../common:channel",
  ]
}

source_set("sender") {
  sources = [
    "cast_app_availability_tracker.cc",
    "cast_app_availability_tracker.h",
    "cast_app_discovery_service_impl.cc",
    "cast_app_discovery_service_impl.h",
    "cast_platform_client.cc",
    "cast_platform_client.h",
    "public/cast_app_discovery_service.cc",
    "public/cast_app_discovery_service.h",
    "public/cast_media_source.cc",
    "public/cast_media_source.h",
  ]

  public_deps = [
    ":channel",
    "../../platform",
    "../../third_party/abseil",
    "../../util",
    "../common:channel",
    "../common:public",
  ]
}

source_set("test_helpers") {
  testonly = true
  sources = [
    "testing/test_helpers.cc",
    "testing/test_helpers.h",
  ]

  deps = [
    "../../third_party/googletest:gtest",
    "../../util",
    "../common:channel",
    "../receiver:channel",
  ]

  public_deps = [ ":channel" ]
}

source_set("unittests") {
  testonly = true
  sources = [
    "cast_app_availability_tracker_unittest.cc",
    "cast_app_discovery_service_impl_unittest.cc",
    "cast_platform_client_unittest.cc",
    "channel/cast_auth_util_unittest.cc",
  ]

  deps = [
    ":channel",
    ":sender",
    ":test_helpers",
    "../../platform",
    "../../platform:test",
    "../../testing/util",
    "../../third_party/googletest:gmock",
    "../../third_party/googletest:gtest",
    "../../util",
    "../common:test_helpers",
    "../common/certificate/proto:certificate_proto",
    "../common/certificate/proto:certificate_unittest_proto",
  ]
}
