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