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

component("cpp") {
  visibility = [
    "//media/learning/mojo:impl",
    "//media/learning/mojo/public/cpp:unit_tests",
    "//third_party/blink/renderer/platform/media",
  ]

  sources = [
    "mojo_learning_task_controller.cc",
    "mojo_learning_task_controller.h",
  ]

  defines = [ "IS_MEDIA_LEARNING_MOJO_IMPL" ]

  deps = [
    "//base",
    "//media/learning/common",
    "//media/learning/mojo/public/mojom",
  ]
}

# Normally typemap traits sources should be build directly into mojom targets
# via the typemap file. This target is for typemapped mojo_base types whose
# traits are shared between chromium and blink variants.
component("shared_typemap_traits") {
  output_name = "media_learning_shared_typemap_traits"

  defines = [ "IS_MEDIA_LEARNING_SHARED_TYPEMAP_TRAITS_IMPL" ]

  sources = [
    "//media/learning/mojo/public/cpp/learning_mojom_traits.cc",
    "//media/learning/mojo/public/cpp/learning_mojom_traits.h",
  ]

  deps = [
    "//base",
    "//media/learning/common",
    "//media/learning/mojo/public/mojom:mojom_shared",
  ]
}

source_set("unit_tests") {
  testonly = true

  sources = [ "mojo_learning_task_controller_unittest.cc" ]

  deps = [
    "//base",
    "//base/test:test_support",
    "//media/learning/common",
    "//media/learning/mojo:impl",
    "//media/mojo:test_support",
    "//mojo/public/cpp/bindings",
    "//testing/gmock",
    "//testing/gtest",
  ]
}
