blob: e0e35fed293452aaa4256f7ec9f55ec7142663be [file] [log] [blame]
// Copyright 2015 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.
module arc.mojom;
import "components/arc/common/accessibility_helper.mojom";
import "components/arc/common/app.mojom";
import "components/arc/common/appfuse.mojom";
import "components/arc/common/audio.mojom";
import "components/arc/common/auth.mojom";
import "components/arc/common/backup_settings.mojom";
import "components/arc/common/bluetooth.mojom";
import "components/arc/common/boot_phase_monitor.mojom";
import "components/arc/common/cast_receiver.mojom";
import "components/arc/common/cert_store.mojom";
import "components/arc/common/clipboard.mojom";
import "components/arc/common/crash_collector.mojom";
import "components/arc/common/disk_quota.mojom";
import "components/arc/common/enterprise_reporting.mojom";
import "components/arc/common/file_system.mojom";
import "components/arc/common/ime.mojom";
import "components/arc/common/input_method_manager.mojom";
import "components/arc/common/intent_helper.mojom";
import "components/arc/common/kiosk.mojom";
import "components/arc/common/lock_screen.mojom";
import "components/arc/common/metrics.mojom";
import "components/arc/common/midis.mojom";
import "components/arc/common/net.mojom";
import "components/arc/common/notifications.mojom";
import "components/arc/common/obb_mounter.mojom";
import "components/arc/common/oemcrypto.mojom";
import "components/arc/common/pip.mojom";
import "components/arc/common/policy.mojom";
import "components/arc/common/power.mojom";
import "components/arc/common/print.mojom";
import "components/arc/common/process.mojom";
import "components/arc/common/rotation_lock.mojom";
import "components/arc/common/screen_capture.mojom";
import "components/arc/common/storage_manager.mojom";
import "components/arc/common/timer.mojom";
import "components/arc/common/tracing.mojom";
import "components/arc/common/tts.mojom";
import "components/arc/common/usb_host.mojom";
import "components/arc/common/video.mojom";
import "components/arc/common/voice_interaction_arc_home.mojom";
import "components/arc/common/voice_interaction_framework.mojom";
import "components/arc/common/volume_mounter.mojom";
import "components/arc/common/wake_lock.mojom";
import "components/arc/common/wallpaper.mojom";
// Next MinVersion: 42
// Deprecated method IDs: 101, 105
// Next method ID: 147
interface ArcBridgeHost {
// Keep the entries alphabetical. In order to do so without breaking
// compatibility with the ARC instance, explicitly assign each interface a
// unique ordinal.
// Notifies Chrome that the AccessibilityHelperInstance interface is ready.
[MinVersion=21] OnAccessibilityHelperInstanceReady@127(
AccessibilityHelperInstance instance_ptr);
// Notifies Chrome that the AppInstance interface is ready.
OnAppInstanceReady@100(AppInstance instance_ptr);
// Notifies Chrome that the AppfuseInstance interface is ready.
[MinVersion=40] OnAppfuseInstanceReady@145(AppfuseInstance instance_ptr);
// Notifies Chrome that the AudioInstance interface is ready.
[MinVersion=8] OnAudioInstanceReady@115(AudioInstance instance_ptr);
// Notifies Chrome that the AuthInstance interface is ready.
[MinVersion=1] OnAuthInstanceReady@106(AuthInstance instance_ptr);
// Notifies Chrome that the BackupSettingsInstance interface is ready.
[MinVersion=33] OnBackupSettingsInstanceReady@138(BackupSettingsInstance instance_ptr);
// Notifies Chrome that the BluetoothInstance interface is ready.
[MinVersion=9] OnBluetoothInstanceReady@113(BluetoothInstance instance_ptr);
// Notifies Chrome that the BootPhaseMonitorInstance interface is ready.
[MinVersion=19] OnBootPhaseMonitorInstanceReady@125(
BootPhaseMonitorInstance instance_ptr);
// Notifies Chrome that the CastReceiverInstance interface is ready.
[MinVersion=27] OnCastReceiverInstanceReady@132(
CastReceiverInstance instance_ptr);
// Notifies Chrome that the CertStoreInstance interface is ready.
[MinVersion=31] OnCertStoreInstanceReady@136(
CertStoreInstance instance_ptr);
// Notifies Chrome that the ClipboardInstance interface is ready.
[MinVersion=2] OnClipboardInstanceReady@109(ClipboardInstance instance_ptr);
// Notifies Chrome that the CrashCollectorInstance interface is ready.
[MinVersion=7] OnCrashCollectorInstanceReady@112(
CrashCollectorInstance instance_ptr);
// Notifies Chrome that the DiskQuotaInstance interface is ready.
[MinVersion=39] OnDiskQuotaInstanceReady@144(DiskQuotaInstance instance_ptr);
// Notifies Chrome that the EnterpriseReportingInstance interface is ready.
[MinVersion=15] OnEnterpriseReportingInstanceReady@122(
EnterpriseReportingInstance instance_ptr);
// Notifies Chrome that the FileSystemInstance interface is ready.
[MinVersion=13] OnFileSystemInstanceReady@119(
FileSystemInstance instance_ptr);
// Notifies Chrome that the ImeInstance interface is ready.
[MinVersion=3] OnImeInstanceReady@110(ImeInstance instance_ptr);
// Notifies Chrome that the InputMethodManagerInstance interface is ready.
[MinVersion=38] OnInputMethodManagerInstanceReady@143(
InputMethodManagerInstance instance_ptr);
// Notifies Chrome that the IntentHelperInstance interface is ready.
[MinVersion=4] OnIntentHelperInstanceReady@111(
IntentHelperInstance instance_ptr);
// Notifies Chrome that the KioskInstance interface is ready.
[MinVersion=20] OnKioskInstanceReady@126(KioskInstance instance_ptr);
// Notifies Chrome that the LockScreenInstance interface is ready.
[MinVersion=29] OnLockScreenInstanceReady@134(LockScreenInstance instance_ptr);
// Notifies Chrome that the MetricsInstance interface is ready.
[MinVersion=10] OnMetricsInstanceReady@116(MetricsInstance instance_ptr);
// Notifies Chrome that the MidisInstance interface is ready.
[MinVersion=30] OnMidisInstanceReady@135(MidisInstance instance_ptr);
// Notifies Chrome that the NetInstance interface is ready.
[MinVersion=5] OnNetInstanceReady@108(NetInstance instance_ptr);
// Notifies Chrome that the NotificationsInstance interface is ready.
OnNotificationsInstanceReady@102(NotificationsInstance instance_ptr);
// Notifies Chrome that the ObbMounter interface is ready.
[MinVersion=14] OnObbMounterInstanceReady@120(ObbMounterInstance instance_ptr);
// Notifies Chrome that the OemCryptoInstance interface is ready.
[MinVersion=28] OnOemCryptoInstanceReady@133(OemCryptoInstance instance_ptr);
// Notifies Chrome that the PipInstance interface is ready.
[MinVersion=41] OnPipInstanceReady@146(PipInstance instance_ptr);
// Notifies Chrome that the PolicyInstance interface is ready.
[MinVersion=7] OnPolicyInstanceReady@114(PolicyInstance instance_ptr);
// Notifies Chrome that the PowerInstance interface is ready.
OnPowerInstanceReady@103(PowerInstance instance_ptr);
// Notifies Chrome that the PrintInstance interface is ready.
[MinVersion=16] OnPrintInstanceReady@121(PrintInstance instance_ptr);
// Notifies Chrome that the ProcessInstance interface is ready.
OnProcessInstanceReady@104(ProcessInstance instance_ptr);
// Notifies Chrome that the RotationLockInstance interface is ready.
[MinVersion=32] OnRotationLockInstanceReady@137(RotationLockInstance instance_ptr);
// Notifies Chrome that the ScreenCaptureInstance interface is ready.
[MinVersion=35] OnScreenCaptureInstanceReady@140(ScreenCaptureInstance instance_ptr);
// Notifies Chrome that the StorageManagerInstance interface is ready.
[MinVersion=12] OnStorageManagerInstanceReady@118(StorageManagerInstance instance_ptr);
// Notifies Chrome that the TimerInstance interface is ready.
[MinVersion=36] OnTimerInstanceReady@141(TimerInstance instance_ptr);
// Notifies Chrome that the TracingInstance interface is ready.
[MinVersion=22] OnTracingInstanceReady@128(TracingInstance instance_ptr);
// Notifies Chrome that the TtsInstance interface is ready.
[MinVersion=17] OnTtsInstanceReady@123(TtsInstance instance_ptr);
// Notifies Chrome that the UsbHostInstance interface is ready.
[MinVersion=34] OnUsbHostInstanceReady@139(UsbHostInstance instance_ptr);
// Notifies Chrome that the VideoInstance interface is ready.
[MinVersion=6] OnVideoInstanceReady@107(VideoInstance instance_ptr);
// Notifies Chrome that the VoiceInteractionArcHomeInstance is ready.
[MinVersion=24] OnVoiceInteractionArcHomeInstanceReady@130(
VoiceInteractionArcHomeInstance instance_ptr);
// Notifies Chrome that the VoiceInteractionFrameworkInstance is ready.
[MinVersion=23] OnVoiceInteractionFrameworkInstanceReady@129(
VoiceInteractionFrameworkInstance instance_ptr);
// Notifies Chrome that the VolumeMounter interface is ready.
[MinVersion=25] OnVolumeMounterInstanceReady@131(VolumeMounterInstance instance_ptr);
// Notifies Chrome that the WakeLockInstance interface is ready.
[MinVersion=37] OnWakeLockInstanceReady@142(WakeLockInstance instance_ptr);
// Notifies Chrome that the WallpaperInstance interface is ready.
[MinVersion=18] OnWallpaperInstanceReady@124(WallpaperInstance instance_ptr);
};
interface ArcBridgeInstance {
// Establishes full-duplex communication with the host.
// |host_ptr| is the MessagePipe endpoint that is bound to the
// ArcBridgeHostPtr binding.
Init@0(ArcBridgeHost host_ptr);
};