]> git.proxmox.com Git - ceph.git/blame - ceph/src/jaegertracing/thrift/test/rb/fixtures/structs.rb
buildsys: switch source download to quincy
[ceph.git] / ceph / src / jaegertracing / thrift / test / rb / fixtures / structs.rb
CommitLineData
f67539c2
TL
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
20require 'thrift'
21
22module Fixtures
23 module Structs
24 class OneBool
25 include Thrift::Struct
26 attr_accessor :bool
27 FIELDS = {
28 1 => {:type => Thrift::Types::BOOL, :name => 'bool'}
29 }
30
31 def validate
32 end
33 end
34
35 class OneByte
36 include Thrift::Struct
37 attr_accessor :byte
38 FIELDS = {
39 1 => {:type => Thrift::Types::BYTE, :name => 'byte'}
40 }
41
42 def validate
43 end
44 end
45
46 class OneI16
47 include Thrift::Struct
48 attr_accessor :i16
49 FIELDS = {
50 1 => {:type => Thrift::Types::I16, :name => 'i16'}
51 }
52
53 def validate
54 end
55 end
56
57 class OneI32
58 include Thrift::Struct
59 attr_accessor :i32
60 FIELDS = {
61 1 => {:type => Thrift::Types::I32, :name => 'i32'}
62 }
63
64 def validate
65 end
66 end
67
68 class OneI64
69 include Thrift::Struct
70 attr_accessor :i64
71 FIELDS = {
72 1 => {:type => Thrift::Types::I64, :name => 'i64'}
73 }
74
75 def validate
76 end
77 end
78
79 class OneDouble
80 include Thrift::Struct
81 attr_accessor :double
82 FIELDS = {
83 1 => {:type => Thrift::Types::DOUBLE, :name => 'double'}
84 }
85
86 def validate
87 end
88 end
89
90 class OneString
91 include Thrift::Struct
92 attr_accessor :string
93 FIELDS = {
94 1 => {:type => Thrift::Types::STRING, :name => 'string'}
95 }
96
97 def validate
98 end
99 end
100
101 class OneMap
102 include Thrift::Struct
103 attr_accessor :map
104 FIELDS = {
105 1 => {:type => Thrift::Types::MAP, :name => 'map', :key => {:type => Thrift::Types::STRING}, :value => {:type => Thrift::Types::STRING}}
106 }
107
108 def validate
109 end
110 end
111
112 class NestedMap
113 include Thrift::Struct
114 attr_accessor :map
115 FIELDS = {
116 0 => {:type => Thrift::Types::MAP, :name => 'map', :key => {:type => Thrift::Types::I32}, :value => {:type => Thrift::Types::MAP, :key => {:type => Thrift::Types::I32}, :value => {:type => Thrift::Types::I32}}}
117 }
118
119 def validate
120 end
121 end
122
123 class OneList
124 include Thrift::Struct
125 attr_accessor :list
126 FIELDS = {
127 1 => {:type => Thrift::Types::LIST, :name => 'list', :element => {:type => Thrift::Types::STRING}}
128 }
129
130 def validate
131 end
132 end
133
134 class NestedList
135 include Thrift::Struct
136 attr_accessor :list
137 FIELDS = {
138 0 => {:type => Thrift::Types::LIST, :name => 'list', :element => {:type => Thrift::Types::LIST, :element => { :type => Thrift::Types::I32 } } }
139 }
140
141 def validate
142 end
143 end
144
145 class OneSet
146 include Thrift::Struct
147 attr_accessor :set
148 FIELDS = {
149 1 => {:type => Thrift::Types::SET, :name => 'set', :element => {:type => Thrift::Types::STRING}}
150 }
151
152 def validate
153 end
154 end
155
156 class NestedSet
157 include Thrift::Struct
158 attr_accessor :set
159 FIELDS = {
160 1 => {:type => Thrift::Types::SET, :name => 'set', :element => {:type => Thrift::Types::SET, :element => { :type => Thrift::Types::STRING } }}
161 }
162
163 def validate
164 end
165 end
166
167 # struct OneOfEach {
168 # 1: bool im_true,
169 # 2: bool im_false,
170 # 3: byte a_bite,
171 # 4: i16 integer16,
172 # 5: i32 integer32,
173 # 6: i64 integer64,
174 # 7: double double_precision,
175 # 8: string some_characters,
176 # 9: string zomg_unicode,
177 # 10: bool what_who,
178 # 11: binary base64,
179 # }
180 class OneOfEach
181 include Thrift::Struct
182 attr_accessor :im_true, :im_false, :a_bite, :integer16, :integer32, :integer64, :double_precision, :some_characters, :zomg_unicode, :what_who, :base64
183 FIELDS = {
184 1 => {:type => Thrift::Types::BOOL, :name => 'im_true'},
185 2 => {:type => Thrift::Types::BOOL, :name => 'im_false'},
186 3 => {:type => Thrift::Types::BYTE, :name => 'a_bite'},
187 4 => {:type => Thrift::Types::I16, :name => 'integer16'},
188 5 => {:type => Thrift::Types::I32, :name => 'integer32'},
189 6 => {:type => Thrift::Types::I64, :name => 'integer64'},
190 7 => {:type => Thrift::Types::DOUBLE, :name => 'double_precision'},
191 8 => {:type => Thrift::Types::STRING, :name => 'some_characters'},
192 9 => {:type => Thrift::Types::STRING, :name => 'zomg_unicode'},
193 10 => {:type => Thrift::Types::BOOL, :name => 'what_who'},
194 11 => {:type => Thrift::Types::STRING, :name => 'base64'}
195 }
196
197 # Added for assert_equal
198 def ==(other)
199 [:im_true, :im_false, :a_bite, :integer16, :integer32, :integer64, :double_precision, :some_characters, :zomg_unicode, :what_who, :base64].each do |f|
200 var = "@#{f}"
201 return false if instance_variable_get(var) != other.instance_variable_get(var)
202 end
203 true
204 end
205
206 def validate
207 end
208 end
209
210 # struct Nested1 {
211 # 1: list<OneOfEach> a_list
212 # 2: map<i32, OneOfEach> i32_map
213 # 3: map<i64, OneOfEach> i64_map
214 # 4: map<double, OneOfEach> dbl_map
215 # 5: map<string, OneOfEach> str_map
216 # }
217 class Nested1
218 include Thrift::Struct
219 attr_accessor :a_list, :i32_map, :i64_map, :dbl_map, :str_map
220 FIELDS = {
221 1 => {:type => Thrift::Types::LIST, :name => 'a_list', :element => {:type => Thrift::Types::STRUCT, :class => OneOfEach}},
222 2 => {:type => Thrift::Types::MAP, :name => 'i32_map', :key => {:type => Thrift::Types::I32}, :value => {:type => Thrift::Types::STRUCT, :class => OneOfEach}},
223 3 => {:type => Thrift::Types::MAP, :name => 'i64_map', :key => {:type => Thrift::Types::I64}, :value => {:type => Thrift::Types::STRUCT, :class => OneOfEach}},
224 4 => {:type => Thrift::Types::MAP, :name => 'dbl_map', :key => {:type => Thrift::Types::DOUBLE}, :value => {:type => Thrift::Types::STRUCT, :class => OneOfEach}},
225 5 => {:type => Thrift::Types::MAP, :name => 'str_map', :key => {:type => Thrift::Types::STRING}, :value => {:type => Thrift::Types::STRUCT, :class => OneOfEach}}
226 }
227
228 def validate
229 end
230 end
231
232 # struct Nested2 {
233 # 1: list<Nested1> a_list
234 # 2: map<i32, Nested1> i32_map
235 # 3: map<i64, Nested1> i64_map
236 # 4: map<double, Nested1> dbl_map
237 # 5: map<string, Nested1> str_map
238 # }
239 class Nested2
240 include Thrift::Struct
241 attr_accessor :a_list, :i32_map, :i64_map, :dbl_map, :str_map
242 FIELDS = {
243 1 => {:type => Thrift::Types::LIST, :name => 'a_list', :element => {:type => Thrift::Types::STRUCT, :class => Nested1}},
244 2 => {:type => Thrift::Types::MAP, :name => 'i32_map', :key => {:type => Thrift::Types::I32}, :value => {:type => Thrift::Types::STRUCT, :class => Nested1}},
245 3 => {:type => Thrift::Types::MAP, :name => 'i64_map', :key => {:type => Thrift::Types::I64}, :value => {:type => Thrift::Types::STRUCT, :class => Nested1}},
246 4 => {:type => Thrift::Types::MAP, :name => 'dbl_map', :key => {:type => Thrift::Types::DOUBLE}, :value => {:type => Thrift::Types::STRUCT, :class => Nested1}},
247 5 => {:type => Thrift::Types::MAP, :name => 'str_map', :key => {:type => Thrift::Types::STRING}, :value => {:type => Thrift::Types::STRUCT, :class => Nested1}}
248 }
249
250 def validate
251 end
252 end
253
254 # struct Nested3 {
255 # 1: list<Nested2> a_list
256 # 2: map<i32, Nested2> i32_map
257 # 3: map<i64, Nested2> i64_map
258 # 4: map<double, Nested2> dbl_map
259 # 5: map<string, Nested2> str_map
260 # }
261 class Nested3
262 include Thrift::Struct
263 attr_accessor :a_list, :i32_map, :i64_map, :dbl_map, :str_map
264 FIELDS = {
265 1 => {:type => Thrift::Types::LIST, :name => 'a_list', :element => {:type => Thrift::Types::STRUCT, :class => Nested2}},
266 2 => {:type => Thrift::Types::MAP, :name => 'i32_map', :key => {:type => Thrift::Types::I32}, :value => {:type => Thrift::Types::STRUCT, :class => Nested2}},
267 3 => {:type => Thrift::Types::MAP, :name => 'i64_map', :key => {:type => Thrift::Types::I64}, :value => {:type => Thrift::Types::STRUCT, :class => Nested2}},
268 4 => {:type => Thrift::Types::MAP, :name => 'dbl_map', :key => {:type => Thrift::Types::DOUBLE}, :value => {:type => Thrift::Types::STRUCT, :class => Nested2}},
269 5 => {:type => Thrift::Types::MAP, :name => 'str_map', :key => {:type => Thrift::Types::STRING}, :value => {:type => Thrift::Types::STRUCT, :class => Nested2}}
270 }
271
272 def validate
273 end
274 end
275
276 # struct Nested4 {
277 # 1: list<Nested3> a_list
278 # 2: map<i32, Nested3> i32_map
279 # 3: map<i64, Nested3> i64_map
280 # 4: map<double, Nested3> dbl_map
281 # 5: map<string, Nested3> str_map
282 # }
283 class Nested4
284 include Thrift::Struct
285 attr_accessor :a_list, :i32_map, :i64_map, :dbl_map, :str_map
286 FIELDS = {
287 1 => {:type => Thrift::Types::LIST, :name => 'a_list', :element => {:type => Thrift::Types::STRUCT, :class => Nested3}},
288 2 => {:type => Thrift::Types::MAP, :name => 'i32_map', :key => {:type => Thrift::Types::I32}, :value => {:type => Thrift::Types::STRUCT, :class => Nested3}},
289 3 => {:type => Thrift::Types::MAP, :name => 'i64_map', :key => {:type => Thrift::Types::I64}, :value => {:type => Thrift::Types::STRUCT, :class => Nested3}},
290 4 => {:type => Thrift::Types::MAP, :name => 'dbl_map', :key => {:type => Thrift::Types::DOUBLE}, :value => {:type => Thrift::Types::STRUCT, :class => Nested3}},
291 5 => {:type => Thrift::Types::MAP, :name => 'str_map', :key => {:type => Thrift::Types::STRING}, :value => {:type => Thrift::Types::STRUCT, :class => Nested3}}
292 }
293
294 def validate
295 end
296 end
297 end
298end