summaryrefslogtreecommitdiff
path: root/chromium/components/arc/common/arc_bridge.mojom
blob: bd52ed306b68fa19ef27d2a803fd463887bc5c26 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
// 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;

import "app.mojom";
import "audio.mojom";
import "auth.mojom";
import "bluetooth.mojom";
import "clipboard.mojom";
import "crash_collector.mojom";
import "ime.mojom";
import "input.mojom";
import "intent_helper.mojom";
import "net.mojom";
import "notifications.mojom";
import "policy.mojom";
import "power.mojom";
import "process.mojom";
import "video.mojom";

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 AppInstance interface is ready.
  OnAppInstanceReady@100(AppInstance 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 BluetoothInstance interface is ready.
  [MinVersion=9] OnBluetoothInstanceReady@113(BluetoothInstance 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 ImeInstance interface is ready.
  [MinVersion=3] OnImeInstanceReady@110(ImeInstance instance_ptr);

  // Notifies Chrome that the InputInstance interface is ready.
  OnInputInstanceReady@101(InputInstance instance_ptr);

  // Notifies Chrome that the IntentHelperInstance interface is ready.
  [MinVersion=4] OnIntentHelperInstanceReady@111(
      IntentHelperInstance 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 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 ProcessInstance interface is ready.
  OnProcessInstanceReady@104(ProcessInstance instance_ptr);

  // Notifies Chrome that the VideoInstance interface is ready.
  [MinVersion=6] OnVideoInstanceReady@107(VideoInstance 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);
};