Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / mojo / public / interfaces / bindings / tests / validation_test_interfaces.mojom
1 // Copyright 2014 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
5
6 [JavaPackage="org.chromium.mojo.bindings.test.mojom.mojo"]
7 module mojo.test {
8
9 struct StructA {
10   uint64 i;
11 };
12
13 struct StructB {
14   StructA struct_a;
15 };
16
17 struct StructC {
18   uint8[] array;
19 };
20
21 struct StructD {
22   handle<message_pipe>[] message_pipes;
23 };
24
25 struct StructE {
26   StructD struct_d;
27   handle<data_pipe_consumer> data_pipe_consumer;
28 };
29
30 struct StructF {
31   uint8[3] fixed_size_array;
32 };
33
34 interface ConformanceTestInterface {
35   Method0(float param0);
36   Method1(StructA param0);
37   Method2(StructB param0, StructA param1);
38   Method3(bool[] param0);
39   Method4(StructC param0, uint8[] param1);
40   Method5(StructE param0, handle<data_pipe_producer> param1);
41   Method6(uint8[][] param0);
42   Method7(StructF param0, uint8[5] param1);
43   Method8(string[]?[] param0);
44   Method9(handle?[][]? param0);
45 };
46
47 struct BasicStruct {
48   int32 a;
49 };
50
51 [Client=IntegrationTestInterface2]
52 interface IntegrationTestInterface1 {
53   Method0(BasicStruct param0);
54 };
55
56 [Client=IntegrationTestInterface1]
57 interface IntegrationTestInterface2 {
58   Method0() => (uint8[] param0);
59 };
60
61 }