mirror of
https://github.com/valitydev/thrift.git
synced 2024-11-06 10:25:18 +00:00
262cfb4189
.thrift files Client: Compiler (general) Patch: Sanjay Poojary <sanjay.poojary@ni.com>, Ben Craig <bencraig@apache.org>, and Zach Hindes <zach.hindes@ni.com> This closes #541
191 lines
5.2 KiB
Thrift
191 lines
5.2 KiB
Thrift
/*
|
|
* 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.
|
|
*/
|
|
|
|
//break7 - requiredness removed in struct6
|
|
|
|
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: 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),
|
|
|
|
}
|