1/* 2 * Licensed to the Apache Software Foundation (ASF) under one 3 * or more contributor license agreements. See the NOTICE file 4 * distributed with this work for additional information 5 * regarding copyright ownership. The ASF licenses this file 6 * to you under the Apache License, Version 2.0 (the 7 * "License"); you may not use this file except in compliance 8 * with the License. You may obtain a copy of the License at 9 * 10 * http://www.apache.org/licenses/LICENSE-2.0 11 * 12 * Unless required by applicable law or agreed to in writing, 13 * software distributed under the License is distributed on an 14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 * KIND, either express or implied. See the License for the 16 * specific language governing permissions and limitations 17 * under the License. 18 */ 19 20 21namespace cpp test 22 23//Constants 24 25const i32 const1 = 123; 26const double const2 = 23.2; 27const map<string,string> const3 = {"hello":"class", "thrift":"audit"}; 28 29//Exception 30exception test_exception1 { 31 1: i32 code; 32 2: string json; 33} 34exception test_exception2 { 35 1: i32 code; 36 2: string json; 37} 38 39//Enums 40 41enum test_enum1 { 42 enum1_value0 = 0, 43 enum1_value1 = 1, 44 enum1_value2 = 2, 45 enum1_value5 = 5, 46 enum1_value7 = 7, 47 enum1_value8 = 8 48} 49 50enum test_enum2 { 51 enum2_value0 = 0, 52 enum2_value1 = 1, 53 enum2_value2 = 2, 54 enum2_value3 = 3 55} 56 57enum test_enum3 { 58 enum3_value1 = 0, 59 enum3_value2 = 1 60} 61 62struct test_struct1 { 63 1: i16 struct1_member1, 64 2: i32 struct1_member2, 65 3: i64 struct1_member3, 66 4: double struct1_member4 = 2.4, 67 5: string struct1_member5, 68 6: bool struct1_member6, 69 7: byte struct1_member7, 70 8: binary struct1_member8, 71 9: test_enum1 changed19 72} 73 74struct test_struct2 { 75 1: list<i16> struct2_member1, 76 2: list<i32> changed22, 77 3: list<i64> struct2_member3, 78 4: list<double> struct2_member4 =[1.0, 2.1], 79 5: list<string> struct2_member5, 80 6: list<bool> struct2_member6, 81 7: list<byte> struct2_member7, 82 8: list<binary> struct2_member8, 83 9: list<test_enum1> struct2_member9 84} 85 86struct test_struct3 { 87 1: map<i16, i32> struct3_member1 = {1:10, 2:20}, 88 2: map<i64, double> struct3_member2 = {1:1.1, 2:2.1}, 89 3: map<string, bool> struct3_member3, 90 4: map<byte, test_enum1> struct3_member4, 91 5: map<test_enum2, test_enum3 > struct3_member5, 92 7: map<double, string> struct3_member7 93} 94 95struct test_struct4 { 96 1: i32 struct4_member1, 97 2: optional i32 struct4_member2 98} 99 100struct test_struct5{ 101 1: double struct5_member1 = 1.1, 102 2: string struct5_member2 = "Thrift Audit Tess" 103} 104struct test_struct6 { 105 1: i32 struct6_member1, 106 2: required i32 struct6_member2 107} 108 109service base { 110 oneway void base_oneway( 111 1: i32 arg1), 112 113 void base_function1( 114 1: i16 function1_arg1, 115 2: i32 function1_arg2, 116 3: i64 function1_arg3, 117 4: double function1_arg4, 118 5: string function1_arg5, 119 6: bool function1_arg6, 120 7: test_enum1 function1_arg7, 121 8: test_struct1 function1_arg8), 122 123 void base_function2( 124 1: list<i16> function2_arg1, 125 2: list<i32> function2_arg2, 126 3: list<i64> function2_arg3, 127 4: list<double> function2_arg4, 128 5: list<string> function2_arg5, 129 6: list<bool> function2_arg6, 130 7: list<byte> function2_arg7, 131 8: list<test_enum1> function2_arg8, 132 9: list<test_struct1> function2_arg9) throws (1:test_exception2 e), 133 134 void base_function3(), 135 136} 137 138service derived1 extends base{ 139 140 test_enum1 derived1_function1( 141 1: i64 function1_arg1, 142 2: double function1_arg2, 143 3: test_enum1 function1_arg3) throws (1:test_exception2 e), 144 145 i64 derived1_function2( 146 1: list<i64> function2_arg1, 147 2: list<double> function2_arg2, 148 3: list<string> function2_arg3, 149 4: list<byte> function2_arg4, 150 5: list<test_enum1> function2_arg5) throws (1:test_exception2 e), 151 152 double derived1_function3( 153 1: string function3_arg1, 154 2: bool function3_arg2) throws (1:test_exception2 e), 155 156 string derived1_function4( 157 1: string function4_arg1, 158 2: bool function4_arg2) throws (1:test_exception2 e), 159 160 161 bool derived1_function5( 162 1: map<i64, double> function5_arg1, 163 2: map<string, bool> function5_arg2, 164 3: map<test_enum1, test_enum2> function5_arg3) throws (1:test_exception2 e), 165 166 test_struct1 derived1_function6( 167 1: double function6_arg1) throws (1:test_exception2 e), 168} 169 170service derived2 extends base { 171 172 list<i32> derived2_function1( 173 1: i32 function1_arg1) throws (1:test_exception2 e), 174 175 list<test_enum1> derived2_function2( 176 1:i64 function2_arg2) throws (1:test_exception2 e), 177 178 list<test_struct1> derived2_function3( 179 1:double function3_arg1) throws(1:test_exception2 e), 180 181 map<double, string> derived2_function4( 182 1:string function4_arg1) throws(1:test_exception2 e), 183 184 map<test_enum1, test_enum2> derived2_function5( 185 1:bool function5_arg1) throws(1:test_exception2 e), 186 187 map<test_struct1, test_struct2> derived2_function6( 188 1:bool function6_arg1) throws(1:test_exception2 e), 189 190} 191