blob: 01835d9546f8f148b5045016b3ea49fbdfa09ca1 [file] [log] [blame]
# Copyright 2017 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.
import("//build/config/chromeos/ui_mode.gni")
import("//mojo/public/tools/bindings/mojom.gni")
# This needs to be conditionally-compiled since the typemaps are
# unconditionally-included from //mojo/public/tools/bindings/mojom.gni. The
# inclusion is done through read_file(), which does not respect the global
# defines for GN, so it itself cannot use the "is_chromeos" variable.
if (is_chromeos_ash) {
mojom("mojom") {
sources = [
"app.mojom",
"app_permissions.mojom",
"compatibility_mode.mojom",
"file_system.mojom",
"intent_common.mojom",
"intent_helper.mojom",
"rotation_lock.mojom",
"scale_factor.mojom",
"screen_capture.mojom",
"sensor.mojom",
"sensor_service.mojom",
"sharesheet.mojom",
"storage_manager.mojom",
"timer.mojom",
"tracing.mojom",
"tts.mojom",
"usb_host.mojom",
"volume_mounter.mojom",
"wake_lock.mojom",
"wallpaper.mojom",
"webapk.mojom",
]
public_deps = [
"//ash/components/arc/mojom:camera_intent",
"//ash/components/arc/mojom:media",
"//ash/components/arc/mojom:notifications",
"//ash/components/arc/mojom:oemcrypto",
"//chromeos/components/sensors/mojom:mojom",
"//components/payments/mojom:mojom",
"//media/capture/video/chromeos/mojom:cros_camera",
"//mojo/public/mojom/base",
"//printing/mojom",
"//sandbox/policy/mojom",
"//services/device/public/mojom:usb",
"//services/media_session/public/mojom",
"//services/resource_coordinator/public/mojom",
"//third_party/blink/public/mojom:android_mojo_bindings",
"//ui/accessibility/mojom:ax_assistant_mojom",
"//ui/gfx/geometry/mojom",
"//url/mojom:url_mojom_gurl",
]
cpp_typemaps = [
{
types = [
{
mojom = "arc.mojom.AppDiscoveryRequestState"
cpp = "::arc::ArcPlayStoreSearchRequestState"
},
]
traits_headers = [ "app_mojom_traits.h" ]
},
{
types = [
{
mojom = "arc.mojom.ChangeType"
cpp = "::storage::WatcherManager::ChangeType"
},
]
traits_headers =
[ "//components/arc/file_system/file_system_mojom_traits.h" ]
traits_sources =
[ "//components/arc/file_system/file_system_mojom_traits.cc" ]
traits_public_deps = [ "//storage/browser" ]
},
{
types = [
{
mojom = "arc.mojom.IntentFilter"
cpp = "::arc::IntentFilter"
move_only = true
},
{
mojom = "arc.mojom.AuthorityEntry"
cpp = "::arc::IntentFilter::AuthorityEntry"
move_only = true
},
{
mojom = "arc.mojom.PatternMatcher"
cpp = "::arc::IntentFilter::PatternMatcher"
move_only = true
},
]
traits_headers =
[ "//components/arc/intent_helper/intent_filter_mojom_traits.h" ]
traits_sources =
[ "//components/arc/intent_helper/intent_filter_mojom_traits.cc" ]
},
{
types = [
{
mojom = "arc.mojom.ClockId"
cpp = "::clockid_t"
},
]
traits_headers =
[ "//ash/components/arc/timer/arc_timer_mojom_traits.h" ]
traits_sources =
[ "//ash/components/arc/timer/arc_timer_mojom_traits.cc" ]
},
{
types = [
{
mojom = "arc.mojom.DeviceType"
cpp = "::chromeos::DeviceType"
},
{
mojom = "arc.mojom.MountEvent"
cpp = "::chromeos::disks::DiskMountManager::MountEvent"
},
]
traits_headers = [
"//ash/components/arc/volume_mounter/volume_mounter_mojom_traits.h",
]
traits_sources = [
"//ash/components/arc/volume_mounter/volume_mounter_mojom_traits.cc",
]
},
]
}
}