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