xref: /aosp_15_r20/external/cronet/ipc/ipc_test.mojom (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1// Copyright 2016 The Chromium Authors
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5module IPC.mojom;
6
7interface SimpleTestDriver {
8  ExpectValue(int32 value);
9
10  [Sync]
11  GetExpectedValue() => (int32 value);
12
13  [Sync]
14  RequestValue() => (int32 value);
15
16  RequestQuit() => ();
17};
18
19interface Terminator {
20  [Sync] Terminate() => ();
21};
22
23interface SimpleTestClient {
24  [Sync]
25  RequestValue() => (int32 value);
26
27  [Sync]
28  BindSync(pending_associated_receiver<SimpleTestClient> receiver) => ();
29
30  GetReceiverWithQueuedSyncMessage() =>
31      (pending_associated_receiver<SimpleTestClient> receiver);
32};
33
34interface PingReceiver {
35  Ping() => ();
36};
37
38struct TestStruct {};
39
40interface TestStructPasser {
41  Pass(TestStruct s);
42};
43
44interface IndirectTestDriver {
45  GetPingReceiver(pending_associated_receiver<PingReceiver> receiver);
46};
47
48interface Reflector {
49  Ping(string value) => (string value);
50  [Sync]
51  SyncPing(string value) => (string response);
52  Quit();
53};
54
55interface AssociatedInterfaceVendor {
56  GetTestInterface(pending_associated_receiver<SimpleTestDriver> receiver);
57};
58
59interface InterfacePassingTestDriver {
60  Init() => ();
61  GetPingReceiver(array<pending_receiver<PingReceiver>> receiver) => ();
62  GetAssociatedPingReceiver(
63      array<pending_associated_receiver<PingReceiver>> receiver) => ();
64  Quit();
65};
66
67interface InterfaceWithUrgentMethod {
68  [SupportsUrgent] MaybeUrgentMessage(bool is_urgent);
69  NonUrgentMessage();
70  RequestQuit() => ();
71};
72