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"] 7module mojo.test; 8 9struct StructA { 10 uint64 i; 11}; 12 13struct StructB { 14 StructA struct_a; 15}; 16 17struct StructC { 18 array<uint8> data; 19}; 20 21struct StructD { 22 array<handle<message_pipe>> message_pipes; 23}; 24 25struct StructE { 26 StructD struct_d; 27 handle<data_pipe_consumer> data_pipe_consumer; 28}; 29 30struct StructF { 31 array<uint8, 3> fixed_size_array; 32}; 33 34struct StructG { 35 int32 i; 36 [MinVersion=1] 37 StructA? struct_a; 38 [MinVersion=3] 39 string? str; 40 [MinVersion=3] 41 bool b; 42}; 43 44interface InterfaceA { 45}; 46 47enum EnumA { 48 ENUM_A_0, 49 ENUM_A_1 50}; 51 52[Extensible] 53enum EnumB { 54 ENUM_B_0, 55 ENUM_B_1, 56 ENUM_B_2 57}; 58 59// This interface is used for testing bounds-checking in the mojom 60// binding code. If you add a method please update the files 61// ./data/validation/boundscheck_*. If you add a response please update 62// ./data/validation/resp_boundscheck_*. 63interface BoundsCheckTestInterface { 64 Method0(uint8 param0) => (uint8 param0); 65 Method1(uint8 param0); 66}; 67 68interface ConformanceTestInterface { 69 Method0(float param0); 70 Method1(StructA param0); 71 Method2(StructB param0, StructA param1); 72 Method3(array<bool> param0); 73 Method4(StructC param0, array<uint8> param1); 74 Method5(StructE param0, handle<data_pipe_producer> param1); 75 Method6(array<array<uint8>> param0); 76 Method7(StructF param0, array<array<uint8, 3>?, 2> param1); 77 Method8(array<array<string>?> param0); 78 Method9(array<array<handle?>>? param0); 79 Method10(map<string, uint8> param0); 80 Method11(StructG param0); 81 Method12(float param0) => (float param0); 82 Method13(InterfaceA? param0, uint32 param1, InterfaceA? param2); 83 Method14(EnumA param0, EnumB param1); 84 Method15(array<EnumA>? param0, array<EnumB>? param1); 85 Method16(map<EnumA, EnumA>? param0); 86 Method17(array<InterfaceA> param0); 87}; 88 89struct BasicStruct { 90 int32 a; 91}; 92 93interface IntegrationTestInterface { 94 Method0(BasicStruct param0) => (array<uint8> param0); 95}; 96 97// An enum generates a enum-value validation function, so we want to test it. 98// E.g., valid enum values for this enum should be: -3, 0, 1, 10 99enum BasicEnum { 100 A, 101 B, 102 C = A, 103 D = -3, 104 E = 0xA 105}; 106 107// The enum validation function should be generated within the scope of this 108// struct. 109struct StructWithEnum { 110 enum EnumWithin { 111 A, B, C, D 112 }; 113}; 114