# Copyright 2017 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//mojo/public/tools/bindings/mojom.gni")
mojom("logger") {
sources = [ "logger.mojom" ]
public_deps = [ "//mojo/public/mojom/base" ]
}
mojom("debugger") {
sources = [ "debugger.mojom" ]
public_deps = [ "//mojo/public/mojom/base" ]
}
mojom("media_controller") {
sources = [
"media_controller.mojom",
"media_status.mojom",
]
public_deps = [
"//mojo/public/mojom/base",
"//ui/gfx/geometry/mojom",
"//url/mojom:url_mojom_gurl",
]
}
mojom("media_route_provider_id") {
sources = [ "media_route_provider_id.mojom" ]
}
mojom("media_router") {
sources = [ "media_router.mojom" ]
public_deps = [
":debugger",
":logger",
":media_controller",
":media_route_provider_id",
":route_request_result_code",
"//components/mirroring/mojom:common",
"//media/mojo/mojom:remoting",
"//mojo/public/mojom/base",
"//services/network/public/mojom:mojom_ip_address",
"//third_party/blink/public/mojom:mojom_platform",
"//url/mojom:url_mojom_gurl",
"//url/mojom:url_mojom_origin",
]
if (is_component_build) {
overridden_deps = [ "//third_party/blink/public/mojom:mojom_platform" ]
component_deps = [ "//third_party/blink/public/common" ]
}
cpp_only = true
disable_variants = true
cpp_typemaps = [
{
types = [
{
mojom = "media_router.mojom.Issue"
cpp = "::media_router::IssueInfo"
},
{
mojom = "media_router.mojom.Issue.ActionType"
cpp = "::media_router::IssueInfo::Action"
},
{
mojom = "media_router.mojom.Issue.Severity"
cpp = "::media_router::IssueInfo::Severity"
},
{
mojom = "media_router.mojom.MediaRoute"
cpp = "::media_router::MediaRoute"
},
{
mojom = "media_router.mojom.MediaRouteProvider.Id"
cpp = "::media_router::mojom::MediaRouteProviderId"
},
{
mojom = "media_router.mojom.MediaSink"
cpp = "::media_router::MediaSinkInternal"
},
]
traits_headers = [ "media_router_mojom_traits.h" ]
traits_sources = [ "media_router_mojom_traits.cc" ]
traits_public_deps = [
"//components/media_router/common",
"//components/media_router/common/providers/cast/channel:capability",
"//net",
]
traits_deps = [
"//services/network/public/cpp",
"//url/mojom:url_mojom_gurl",
]
},
]
}
mojom("media_router_test_interfaces") {
sources = [ "media_router_traits_test_service.mojom" ]
public_deps = [ ":media_router" ]
cpp_only = true
disable_variants = true
}
mojom("route_request_result_code") {
sources = [ "route_request_result_code.mojom" ]
webui_module_path = "/"
generate_legacy_js_bindings = enable_mojom_fuzzer
}