• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright 2015 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5module mojo.test;
6
7interface FooInterface {};
8
9struct StructContainsAssociated {
10  associated FooInterface? foo_interface;
11  associated FooInterface& foo_request;
12  array<associated FooInterface> foo_interfaces;
13  array<associated FooInterface&> foo_requests;
14};
15
16union UnionContainsAssociated {
17  associated FooInterface foo_interface;
18  associated FooInterface& foo_request;
19  array<associated FooInterface> foo_interfaces;
20  array<associated FooInterface&> foo_requests;
21};
22
23interface InterfacePassesAssociated {
24  PassFoo(associated FooInterface foo_interface,
25          associated FooInterface& foo_request) =>
26         (associated FooInterface foo_interface,
27          associated FooInterface& foo_request);
28
29  PassStruct(StructContainsAssociated foo_struct) =>
30            (StructContainsAssociated foo_struct);
31
32  PassUnion(UnionContainsAssociated foo_union) =>
33           (UnionContainsAssociated foo_union);
34};
35
36interface IntegerSender {
37  Echo(int32 value) => (int32 value);
38  Send(int32 value);
39};
40
41interface IntegerSenderConnection {
42  GetSender(associated IntegerSender& sender);
43  AsyncGetSender() => (associated IntegerSender sender);
44};
45