blob: b98afd659818be5fbb9effa09b60e67dda3f8ab2 [file] [log] [blame]
Austin Schuhe89fa2d2019-08-14 20:24:23 -07001// automatically generated by the FlatBuffers compiler, do not modify
2
3
4#ifndef FLATBUFFERS_GENERATED_REFLECTION_REFLECTION_H_
5#define FLATBUFFERS_GENERATED_REFLECTION_REFLECTION_H_
6
7#include "flatbuffers/flatbuffers.h"
8
9namespace reflection {
10
11struct Type;
Austin Schuh272c6132020-11-14 16:37:52 -080012struct TypeBuilder;
Austin Schuhe89fa2d2019-08-14 20:24:23 -070013
14struct KeyValue;
Austin Schuh272c6132020-11-14 16:37:52 -080015struct KeyValueBuilder;
Austin Schuhe89fa2d2019-08-14 20:24:23 -070016
17struct EnumVal;
Austin Schuh272c6132020-11-14 16:37:52 -080018struct EnumValBuilder;
Austin Schuhe89fa2d2019-08-14 20:24:23 -070019
20struct Enum;
Austin Schuh272c6132020-11-14 16:37:52 -080021struct EnumBuilder;
Austin Schuhe89fa2d2019-08-14 20:24:23 -070022
23struct Field;
Austin Schuh272c6132020-11-14 16:37:52 -080024struct FieldBuilder;
Austin Schuhe89fa2d2019-08-14 20:24:23 -070025
26struct Object;
Austin Schuh272c6132020-11-14 16:37:52 -080027struct ObjectBuilder;
Austin Schuhe89fa2d2019-08-14 20:24:23 -070028
29struct RPCCall;
Austin Schuh272c6132020-11-14 16:37:52 -080030struct RPCCallBuilder;
Austin Schuhe89fa2d2019-08-14 20:24:23 -070031
32struct Service;
Austin Schuh272c6132020-11-14 16:37:52 -080033struct ServiceBuilder;
Austin Schuhe89fa2d2019-08-14 20:24:23 -070034
35struct Schema;
Austin Schuh272c6132020-11-14 16:37:52 -080036struct SchemaBuilder;
Austin Schuhe89fa2d2019-08-14 20:24:23 -070037
38enum BaseType {
39 None = 0,
40 UType = 1,
41 Bool = 2,
42 Byte = 3,
43 UByte = 4,
44 Short = 5,
45 UShort = 6,
46 Int = 7,
47 UInt = 8,
48 Long = 9,
49 ULong = 10,
50 Float = 11,
51 Double = 12,
52 String = 13,
53 Vector = 14,
54 Obj = 15,
55 Union = 16,
Austin Schuh272c6132020-11-14 16:37:52 -080056 Array = 17,
57 MaxBaseType = 18
Austin Schuhe89fa2d2019-08-14 20:24:23 -070058};
59
Austin Schuh272c6132020-11-14 16:37:52 -080060inline const BaseType (&EnumValuesBaseType())[19] {
Austin Schuhe89fa2d2019-08-14 20:24:23 -070061 static const BaseType values[] = {
62 None,
63 UType,
64 Bool,
65 Byte,
66 UByte,
67 Short,
68 UShort,
69 Int,
70 UInt,
71 Long,
72 ULong,
73 Float,
74 Double,
75 String,
76 Vector,
77 Obj,
78 Union,
Austin Schuh272c6132020-11-14 16:37:52 -080079 Array,
80 MaxBaseType
Austin Schuhe89fa2d2019-08-14 20:24:23 -070081 };
82 return values;
83}
84
85inline const char * const *EnumNamesBaseType() {
Austin Schuh272c6132020-11-14 16:37:52 -080086 static const char * const names[20] = {
Austin Schuhe89fa2d2019-08-14 20:24:23 -070087 "None",
88 "UType",
89 "Bool",
90 "Byte",
91 "UByte",
92 "Short",
93 "UShort",
94 "Int",
95 "UInt",
96 "Long",
97 "ULong",
98 "Float",
99 "Double",
100 "String",
101 "Vector",
102 "Obj",
103 "Union",
104 "Array",
Austin Schuh272c6132020-11-14 16:37:52 -0800105 "MaxBaseType",
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700106 nullptr
107 };
108 return names;
109}
110
111inline const char *EnumNameBaseType(BaseType e) {
Austin Schuh272c6132020-11-14 16:37:52 -0800112 if (flatbuffers::IsOutRange(e, None, MaxBaseType)) return "";
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700113 const size_t index = static_cast<size_t>(e);
114 return EnumNamesBaseType()[index];
115}
116
117struct Type FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
Austin Schuh272c6132020-11-14 16:37:52 -0800118 typedef TypeBuilder Builder;
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700119 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
120 VT_BASE_TYPE = 4,
121 VT_ELEMENT = 6,
122 VT_INDEX = 8,
123 VT_FIXED_LENGTH = 10
124 };
125 reflection::BaseType base_type() const {
126 return static_cast<reflection::BaseType>(GetField<int8_t>(VT_BASE_TYPE, 0));
127 }
128 reflection::BaseType element() const {
129 return static_cast<reflection::BaseType>(GetField<int8_t>(VT_ELEMENT, 0));
130 }
131 int32_t index() const {
132 return GetField<int32_t>(VT_INDEX, -1);
133 }
134 uint16_t fixed_length() const {
135 return GetField<uint16_t>(VT_FIXED_LENGTH, 0);
136 }
137 bool Verify(flatbuffers::Verifier &verifier) const {
138 return VerifyTableStart(verifier) &&
139 VerifyField<int8_t>(verifier, VT_BASE_TYPE) &&
140 VerifyField<int8_t>(verifier, VT_ELEMENT) &&
141 VerifyField<int32_t>(verifier, VT_INDEX) &&
142 VerifyField<uint16_t>(verifier, VT_FIXED_LENGTH) &&
143 verifier.EndTable();
144 }
145};
146
147struct TypeBuilder {
Austin Schuh272c6132020-11-14 16:37:52 -0800148 typedef Type Table;
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700149 flatbuffers::FlatBufferBuilder &fbb_;
150 flatbuffers::uoffset_t start_;
151 void add_base_type(reflection::BaseType base_type) {
152 fbb_.AddElement<int8_t>(Type::VT_BASE_TYPE, static_cast<int8_t>(base_type), 0);
153 }
154 void add_element(reflection::BaseType element) {
155 fbb_.AddElement<int8_t>(Type::VT_ELEMENT, static_cast<int8_t>(element), 0);
156 }
157 void add_index(int32_t index) {
158 fbb_.AddElement<int32_t>(Type::VT_INDEX, index, -1);
159 }
160 void add_fixed_length(uint16_t fixed_length) {
161 fbb_.AddElement<uint16_t>(Type::VT_FIXED_LENGTH, fixed_length, 0);
162 }
163 explicit TypeBuilder(flatbuffers::FlatBufferBuilder &_fbb)
164 : fbb_(_fbb) {
165 start_ = fbb_.StartTable();
166 }
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700167 flatbuffers::Offset<Type> Finish() {
168 const auto end = fbb_.EndTable(start_);
169 auto o = flatbuffers::Offset<Type>(end);
170 return o;
171 }
172};
173
174inline flatbuffers::Offset<Type> CreateType(
175 flatbuffers::FlatBufferBuilder &_fbb,
176 reflection::BaseType base_type = reflection::None,
177 reflection::BaseType element = reflection::None,
178 int32_t index = -1,
179 uint16_t fixed_length = 0) {
180 TypeBuilder builder_(_fbb);
181 builder_.add_index(index);
182 builder_.add_fixed_length(fixed_length);
183 builder_.add_element(element);
184 builder_.add_base_type(base_type);
185 return builder_.Finish();
186}
187
188struct KeyValue FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
Austin Schuh272c6132020-11-14 16:37:52 -0800189 typedef KeyValueBuilder Builder;
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700190 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
191 VT_KEY = 4,
192 VT_VALUE = 6
193 };
194 const flatbuffers::String *key() const {
195 return GetPointer<const flatbuffers::String *>(VT_KEY);
196 }
197 bool KeyCompareLessThan(const KeyValue *o) const {
198 return *key() < *o->key();
199 }
200 int KeyCompareWithValue(const char *val) const {
201 return strcmp(key()->c_str(), val);
202 }
203 const flatbuffers::String *value() const {
204 return GetPointer<const flatbuffers::String *>(VT_VALUE);
205 }
206 bool Verify(flatbuffers::Verifier &verifier) const {
207 return VerifyTableStart(verifier) &&
208 VerifyOffsetRequired(verifier, VT_KEY) &&
209 verifier.VerifyString(key()) &&
210 VerifyOffset(verifier, VT_VALUE) &&
211 verifier.VerifyString(value()) &&
212 verifier.EndTable();
213 }
214};
215
216struct KeyValueBuilder {
Austin Schuh272c6132020-11-14 16:37:52 -0800217 typedef KeyValue Table;
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700218 flatbuffers::FlatBufferBuilder &fbb_;
219 flatbuffers::uoffset_t start_;
220 void add_key(flatbuffers::Offset<flatbuffers::String> key) {
221 fbb_.AddOffset(KeyValue::VT_KEY, key);
222 }
223 void add_value(flatbuffers::Offset<flatbuffers::String> value) {
224 fbb_.AddOffset(KeyValue::VT_VALUE, value);
225 }
226 explicit KeyValueBuilder(flatbuffers::FlatBufferBuilder &_fbb)
227 : fbb_(_fbb) {
228 start_ = fbb_.StartTable();
229 }
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700230 flatbuffers::Offset<KeyValue> Finish() {
231 const auto end = fbb_.EndTable(start_);
232 auto o = flatbuffers::Offset<KeyValue>(end);
233 fbb_.Required(o, KeyValue::VT_KEY);
234 return o;
235 }
236};
237
238inline flatbuffers::Offset<KeyValue> CreateKeyValue(
239 flatbuffers::FlatBufferBuilder &_fbb,
240 flatbuffers::Offset<flatbuffers::String> key = 0,
241 flatbuffers::Offset<flatbuffers::String> value = 0) {
242 KeyValueBuilder builder_(_fbb);
243 builder_.add_value(value);
244 builder_.add_key(key);
245 return builder_.Finish();
246}
247
248inline flatbuffers::Offset<KeyValue> CreateKeyValueDirect(
249 flatbuffers::FlatBufferBuilder &_fbb,
250 const char *key = nullptr,
251 const char *value = nullptr) {
252 auto key__ = key ? _fbb.CreateString(key) : 0;
253 auto value__ = value ? _fbb.CreateString(value) : 0;
254 return reflection::CreateKeyValue(
255 _fbb,
256 key__,
257 value__);
258}
259
260struct EnumVal FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
Austin Schuh272c6132020-11-14 16:37:52 -0800261 typedef EnumValBuilder Builder;
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700262 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
263 VT_NAME = 4,
264 VT_VALUE = 6,
265 VT_OBJECT = 8,
266 VT_UNION_TYPE = 10,
267 VT_DOCUMENTATION = 12
268 };
269 const flatbuffers::String *name() const {
270 return GetPointer<const flatbuffers::String *>(VT_NAME);
271 }
272 int64_t value() const {
273 return GetField<int64_t>(VT_VALUE, 0);
274 }
275 bool KeyCompareLessThan(const EnumVal *o) const {
276 return value() < o->value();
277 }
278 int KeyCompareWithValue(int64_t val) const {
279 return static_cast<int>(value() > val) - static_cast<int>(value() < val);
280 }
281 const reflection::Object *object() const {
282 return GetPointer<const reflection::Object *>(VT_OBJECT);
283 }
284 const reflection::Type *union_type() const {
285 return GetPointer<const reflection::Type *>(VT_UNION_TYPE);
286 }
287 const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *documentation() const {
288 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *>(VT_DOCUMENTATION);
289 }
290 bool Verify(flatbuffers::Verifier &verifier) const {
291 return VerifyTableStart(verifier) &&
292 VerifyOffsetRequired(verifier, VT_NAME) &&
293 verifier.VerifyString(name()) &&
294 VerifyField<int64_t>(verifier, VT_VALUE) &&
295 VerifyOffset(verifier, VT_OBJECT) &&
296 verifier.VerifyTable(object()) &&
297 VerifyOffset(verifier, VT_UNION_TYPE) &&
298 verifier.VerifyTable(union_type()) &&
299 VerifyOffset(verifier, VT_DOCUMENTATION) &&
300 verifier.VerifyVector(documentation()) &&
301 verifier.VerifyVectorOfStrings(documentation()) &&
302 verifier.EndTable();
303 }
304};
305
306struct EnumValBuilder {
Austin Schuh272c6132020-11-14 16:37:52 -0800307 typedef EnumVal Table;
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700308 flatbuffers::FlatBufferBuilder &fbb_;
309 flatbuffers::uoffset_t start_;
310 void add_name(flatbuffers::Offset<flatbuffers::String> name) {
311 fbb_.AddOffset(EnumVal::VT_NAME, name);
312 }
313 void add_value(int64_t value) {
314 fbb_.AddElement<int64_t>(EnumVal::VT_VALUE, value, 0);
315 }
316 void add_object(flatbuffers::Offset<reflection::Object> object) {
317 fbb_.AddOffset(EnumVal::VT_OBJECT, object);
318 }
319 void add_union_type(flatbuffers::Offset<reflection::Type> union_type) {
320 fbb_.AddOffset(EnumVal::VT_UNION_TYPE, union_type);
321 }
322 void add_documentation(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> documentation) {
323 fbb_.AddOffset(EnumVal::VT_DOCUMENTATION, documentation);
324 }
325 explicit EnumValBuilder(flatbuffers::FlatBufferBuilder &_fbb)
326 : fbb_(_fbb) {
327 start_ = fbb_.StartTable();
328 }
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700329 flatbuffers::Offset<EnumVal> Finish() {
330 const auto end = fbb_.EndTable(start_);
331 auto o = flatbuffers::Offset<EnumVal>(end);
332 fbb_.Required(o, EnumVal::VT_NAME);
333 return o;
334 }
335};
336
337inline flatbuffers::Offset<EnumVal> CreateEnumVal(
338 flatbuffers::FlatBufferBuilder &_fbb,
339 flatbuffers::Offset<flatbuffers::String> name = 0,
340 int64_t value = 0,
341 flatbuffers::Offset<reflection::Object> object = 0,
342 flatbuffers::Offset<reflection::Type> union_type = 0,
343 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> documentation = 0) {
344 EnumValBuilder builder_(_fbb);
345 builder_.add_value(value);
346 builder_.add_documentation(documentation);
347 builder_.add_union_type(union_type);
348 builder_.add_object(object);
349 builder_.add_name(name);
350 return builder_.Finish();
351}
352
353inline flatbuffers::Offset<EnumVal> CreateEnumValDirect(
354 flatbuffers::FlatBufferBuilder &_fbb,
355 const char *name = nullptr,
356 int64_t value = 0,
357 flatbuffers::Offset<reflection::Object> object = 0,
358 flatbuffers::Offset<reflection::Type> union_type = 0,
359 const std::vector<flatbuffers::Offset<flatbuffers::String>> *documentation = nullptr) {
360 auto name__ = name ? _fbb.CreateString(name) : 0;
361 auto documentation__ = documentation ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*documentation) : 0;
362 return reflection::CreateEnumVal(
363 _fbb,
364 name__,
365 value,
366 object,
367 union_type,
368 documentation__);
369}
370
371struct Enum FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
Austin Schuh272c6132020-11-14 16:37:52 -0800372 typedef EnumBuilder Builder;
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700373 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
374 VT_NAME = 4,
375 VT_VALUES = 6,
376 VT_IS_UNION = 8,
377 VT_UNDERLYING_TYPE = 10,
378 VT_ATTRIBUTES = 12,
379 VT_DOCUMENTATION = 14
380 };
381 const flatbuffers::String *name() const {
382 return GetPointer<const flatbuffers::String *>(VT_NAME);
383 }
384 bool KeyCompareLessThan(const Enum *o) const {
385 return *name() < *o->name();
386 }
387 int KeyCompareWithValue(const char *val) const {
388 return strcmp(name()->c_str(), val);
389 }
390 const flatbuffers::Vector<flatbuffers::Offset<reflection::EnumVal>> *values() const {
391 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<reflection::EnumVal>> *>(VT_VALUES);
392 }
393 bool is_union() const {
394 return GetField<uint8_t>(VT_IS_UNION, 0) != 0;
395 }
396 const reflection::Type *underlying_type() const {
397 return GetPointer<const reflection::Type *>(VT_UNDERLYING_TYPE);
398 }
399 const flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>> *attributes() const {
400 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>> *>(VT_ATTRIBUTES);
401 }
402 const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *documentation() const {
403 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *>(VT_DOCUMENTATION);
404 }
405 bool Verify(flatbuffers::Verifier &verifier) const {
406 return VerifyTableStart(verifier) &&
407 VerifyOffsetRequired(verifier, VT_NAME) &&
408 verifier.VerifyString(name()) &&
409 VerifyOffsetRequired(verifier, VT_VALUES) &&
410 verifier.VerifyVector(values()) &&
411 verifier.VerifyVectorOfTables(values()) &&
412 VerifyField<uint8_t>(verifier, VT_IS_UNION) &&
413 VerifyOffsetRequired(verifier, VT_UNDERLYING_TYPE) &&
414 verifier.VerifyTable(underlying_type()) &&
415 VerifyOffset(verifier, VT_ATTRIBUTES) &&
416 verifier.VerifyVector(attributes()) &&
417 verifier.VerifyVectorOfTables(attributes()) &&
418 VerifyOffset(verifier, VT_DOCUMENTATION) &&
419 verifier.VerifyVector(documentation()) &&
420 verifier.VerifyVectorOfStrings(documentation()) &&
421 verifier.EndTable();
422 }
423};
424
425struct EnumBuilder {
Austin Schuh272c6132020-11-14 16:37:52 -0800426 typedef Enum Table;
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700427 flatbuffers::FlatBufferBuilder &fbb_;
428 flatbuffers::uoffset_t start_;
429 void add_name(flatbuffers::Offset<flatbuffers::String> name) {
430 fbb_.AddOffset(Enum::VT_NAME, name);
431 }
432 void add_values(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::EnumVal>>> values) {
433 fbb_.AddOffset(Enum::VT_VALUES, values);
434 }
435 void add_is_union(bool is_union) {
436 fbb_.AddElement<uint8_t>(Enum::VT_IS_UNION, static_cast<uint8_t>(is_union), 0);
437 }
438 void add_underlying_type(flatbuffers::Offset<reflection::Type> underlying_type) {
439 fbb_.AddOffset(Enum::VT_UNDERLYING_TYPE, underlying_type);
440 }
441 void add_attributes(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>>> attributes) {
442 fbb_.AddOffset(Enum::VT_ATTRIBUTES, attributes);
443 }
444 void add_documentation(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> documentation) {
445 fbb_.AddOffset(Enum::VT_DOCUMENTATION, documentation);
446 }
447 explicit EnumBuilder(flatbuffers::FlatBufferBuilder &_fbb)
448 : fbb_(_fbb) {
449 start_ = fbb_.StartTable();
450 }
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700451 flatbuffers::Offset<Enum> Finish() {
452 const auto end = fbb_.EndTable(start_);
453 auto o = flatbuffers::Offset<Enum>(end);
454 fbb_.Required(o, Enum::VT_NAME);
455 fbb_.Required(o, Enum::VT_VALUES);
456 fbb_.Required(o, Enum::VT_UNDERLYING_TYPE);
457 return o;
458 }
459};
460
461inline flatbuffers::Offset<Enum> CreateEnum(
462 flatbuffers::FlatBufferBuilder &_fbb,
463 flatbuffers::Offset<flatbuffers::String> name = 0,
464 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::EnumVal>>> values = 0,
465 bool is_union = false,
466 flatbuffers::Offset<reflection::Type> underlying_type = 0,
467 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>>> attributes = 0,
468 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> documentation = 0) {
469 EnumBuilder builder_(_fbb);
470 builder_.add_documentation(documentation);
471 builder_.add_attributes(attributes);
472 builder_.add_underlying_type(underlying_type);
473 builder_.add_values(values);
474 builder_.add_name(name);
475 builder_.add_is_union(is_union);
476 return builder_.Finish();
477}
478
479inline flatbuffers::Offset<Enum> CreateEnumDirect(
480 flatbuffers::FlatBufferBuilder &_fbb,
481 const char *name = nullptr,
Austin Schuh272c6132020-11-14 16:37:52 -0800482 std::vector<flatbuffers::Offset<reflection::EnumVal>> *values = nullptr,
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700483 bool is_union = false,
484 flatbuffers::Offset<reflection::Type> underlying_type = 0,
Austin Schuh272c6132020-11-14 16:37:52 -0800485 std::vector<flatbuffers::Offset<reflection::KeyValue>> *attributes = nullptr,
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700486 const std::vector<flatbuffers::Offset<flatbuffers::String>> *documentation = nullptr) {
487 auto name__ = name ? _fbb.CreateString(name) : 0;
Austin Schuh272c6132020-11-14 16:37:52 -0800488 auto values__ = values ? _fbb.CreateVectorOfSortedTables<reflection::EnumVal>(values) : 0;
489 auto attributes__ = attributes ? _fbb.CreateVectorOfSortedTables<reflection::KeyValue>(attributes) : 0;
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700490 auto documentation__ = documentation ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*documentation) : 0;
491 return reflection::CreateEnum(
492 _fbb,
493 name__,
494 values__,
495 is_union,
496 underlying_type,
497 attributes__,
498 documentation__);
499}
500
501struct Field FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
Austin Schuh272c6132020-11-14 16:37:52 -0800502 typedef FieldBuilder Builder;
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700503 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
504 VT_NAME = 4,
505 VT_TYPE = 6,
506 VT_ID = 8,
507 VT_OFFSET = 10,
508 VT_DEFAULT_INTEGER = 12,
509 VT_DEFAULT_REAL = 14,
510 VT_DEPRECATED = 16,
511 VT_REQUIRED = 18,
512 VT_KEY = 20,
513 VT_ATTRIBUTES = 22,
Austin Schuh272c6132020-11-14 16:37:52 -0800514 VT_DOCUMENTATION = 24,
515 VT_OPTIONAL = 26
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700516 };
517 const flatbuffers::String *name() const {
518 return GetPointer<const flatbuffers::String *>(VT_NAME);
519 }
520 bool KeyCompareLessThan(const Field *o) const {
521 return *name() < *o->name();
522 }
523 int KeyCompareWithValue(const char *val) const {
524 return strcmp(name()->c_str(), val);
525 }
526 const reflection::Type *type() const {
527 return GetPointer<const reflection::Type *>(VT_TYPE);
528 }
529 uint16_t id() const {
530 return GetField<uint16_t>(VT_ID, 0);
531 }
532 uint16_t offset() const {
533 return GetField<uint16_t>(VT_OFFSET, 0);
534 }
535 int64_t default_integer() const {
536 return GetField<int64_t>(VT_DEFAULT_INTEGER, 0);
537 }
538 double default_real() const {
539 return GetField<double>(VT_DEFAULT_REAL, 0.0);
540 }
541 bool deprecated() const {
542 return GetField<uint8_t>(VT_DEPRECATED, 0) != 0;
543 }
544 bool required() const {
545 return GetField<uint8_t>(VT_REQUIRED, 0) != 0;
546 }
547 bool key() const {
548 return GetField<uint8_t>(VT_KEY, 0) != 0;
549 }
550 const flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>> *attributes() const {
551 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>> *>(VT_ATTRIBUTES);
552 }
553 const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *documentation() const {
554 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *>(VT_DOCUMENTATION);
555 }
Austin Schuh272c6132020-11-14 16:37:52 -0800556 bool optional() const {
557 return GetField<uint8_t>(VT_OPTIONAL, 0) != 0;
558 }
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700559 bool Verify(flatbuffers::Verifier &verifier) const {
560 return VerifyTableStart(verifier) &&
561 VerifyOffsetRequired(verifier, VT_NAME) &&
562 verifier.VerifyString(name()) &&
563 VerifyOffsetRequired(verifier, VT_TYPE) &&
564 verifier.VerifyTable(type()) &&
565 VerifyField<uint16_t>(verifier, VT_ID) &&
566 VerifyField<uint16_t>(verifier, VT_OFFSET) &&
567 VerifyField<int64_t>(verifier, VT_DEFAULT_INTEGER) &&
568 VerifyField<double>(verifier, VT_DEFAULT_REAL) &&
569 VerifyField<uint8_t>(verifier, VT_DEPRECATED) &&
570 VerifyField<uint8_t>(verifier, VT_REQUIRED) &&
571 VerifyField<uint8_t>(verifier, VT_KEY) &&
572 VerifyOffset(verifier, VT_ATTRIBUTES) &&
573 verifier.VerifyVector(attributes()) &&
574 verifier.VerifyVectorOfTables(attributes()) &&
575 VerifyOffset(verifier, VT_DOCUMENTATION) &&
576 verifier.VerifyVector(documentation()) &&
577 verifier.VerifyVectorOfStrings(documentation()) &&
Austin Schuh272c6132020-11-14 16:37:52 -0800578 VerifyField<uint8_t>(verifier, VT_OPTIONAL) &&
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700579 verifier.EndTable();
580 }
581};
582
583struct FieldBuilder {
Austin Schuh272c6132020-11-14 16:37:52 -0800584 typedef Field Table;
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700585 flatbuffers::FlatBufferBuilder &fbb_;
586 flatbuffers::uoffset_t start_;
587 void add_name(flatbuffers::Offset<flatbuffers::String> name) {
588 fbb_.AddOffset(Field::VT_NAME, name);
589 }
590 void add_type(flatbuffers::Offset<reflection::Type> type) {
591 fbb_.AddOffset(Field::VT_TYPE, type);
592 }
593 void add_id(uint16_t id) {
594 fbb_.AddElement<uint16_t>(Field::VT_ID, id, 0);
595 }
596 void add_offset(uint16_t offset) {
597 fbb_.AddElement<uint16_t>(Field::VT_OFFSET, offset, 0);
598 }
599 void add_default_integer(int64_t default_integer) {
600 fbb_.AddElement<int64_t>(Field::VT_DEFAULT_INTEGER, default_integer, 0);
601 }
602 void add_default_real(double default_real) {
603 fbb_.AddElement<double>(Field::VT_DEFAULT_REAL, default_real, 0.0);
604 }
605 void add_deprecated(bool deprecated) {
606 fbb_.AddElement<uint8_t>(Field::VT_DEPRECATED, static_cast<uint8_t>(deprecated), 0);
607 }
608 void add_required(bool required) {
609 fbb_.AddElement<uint8_t>(Field::VT_REQUIRED, static_cast<uint8_t>(required), 0);
610 }
611 void add_key(bool key) {
612 fbb_.AddElement<uint8_t>(Field::VT_KEY, static_cast<uint8_t>(key), 0);
613 }
614 void add_attributes(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>>> attributes) {
615 fbb_.AddOffset(Field::VT_ATTRIBUTES, attributes);
616 }
617 void add_documentation(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> documentation) {
618 fbb_.AddOffset(Field::VT_DOCUMENTATION, documentation);
619 }
Austin Schuh272c6132020-11-14 16:37:52 -0800620 void add_optional(bool optional) {
621 fbb_.AddElement<uint8_t>(Field::VT_OPTIONAL, static_cast<uint8_t>(optional), 0);
622 }
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700623 explicit FieldBuilder(flatbuffers::FlatBufferBuilder &_fbb)
624 : fbb_(_fbb) {
625 start_ = fbb_.StartTable();
626 }
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700627 flatbuffers::Offset<Field> Finish() {
628 const auto end = fbb_.EndTable(start_);
629 auto o = flatbuffers::Offset<Field>(end);
630 fbb_.Required(o, Field::VT_NAME);
631 fbb_.Required(o, Field::VT_TYPE);
632 return o;
633 }
634};
635
636inline flatbuffers::Offset<Field> CreateField(
637 flatbuffers::FlatBufferBuilder &_fbb,
638 flatbuffers::Offset<flatbuffers::String> name = 0,
639 flatbuffers::Offset<reflection::Type> type = 0,
640 uint16_t id = 0,
641 uint16_t offset = 0,
642 int64_t default_integer = 0,
643 double default_real = 0.0,
644 bool deprecated = false,
645 bool required = false,
646 bool key = false,
647 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>>> attributes = 0,
Austin Schuh272c6132020-11-14 16:37:52 -0800648 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> documentation = 0,
649 bool optional = false) {
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700650 FieldBuilder builder_(_fbb);
651 builder_.add_default_real(default_real);
652 builder_.add_default_integer(default_integer);
653 builder_.add_documentation(documentation);
654 builder_.add_attributes(attributes);
655 builder_.add_type(type);
656 builder_.add_name(name);
657 builder_.add_offset(offset);
658 builder_.add_id(id);
Austin Schuh272c6132020-11-14 16:37:52 -0800659 builder_.add_optional(optional);
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700660 builder_.add_key(key);
661 builder_.add_required(required);
662 builder_.add_deprecated(deprecated);
663 return builder_.Finish();
664}
665
666inline flatbuffers::Offset<Field> CreateFieldDirect(
667 flatbuffers::FlatBufferBuilder &_fbb,
668 const char *name = nullptr,
669 flatbuffers::Offset<reflection::Type> type = 0,
670 uint16_t id = 0,
671 uint16_t offset = 0,
672 int64_t default_integer = 0,
673 double default_real = 0.0,
674 bool deprecated = false,
675 bool required = false,
676 bool key = false,
Austin Schuh272c6132020-11-14 16:37:52 -0800677 std::vector<flatbuffers::Offset<reflection::KeyValue>> *attributes = nullptr,
678 const std::vector<flatbuffers::Offset<flatbuffers::String>> *documentation = nullptr,
679 bool optional = false) {
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700680 auto name__ = name ? _fbb.CreateString(name) : 0;
Austin Schuh272c6132020-11-14 16:37:52 -0800681 auto attributes__ = attributes ? _fbb.CreateVectorOfSortedTables<reflection::KeyValue>(attributes) : 0;
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700682 auto documentation__ = documentation ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*documentation) : 0;
683 return reflection::CreateField(
684 _fbb,
685 name__,
686 type,
687 id,
688 offset,
689 default_integer,
690 default_real,
691 deprecated,
692 required,
693 key,
694 attributes__,
Austin Schuh272c6132020-11-14 16:37:52 -0800695 documentation__,
696 optional);
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700697}
698
699struct Object FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
Austin Schuh272c6132020-11-14 16:37:52 -0800700 typedef ObjectBuilder Builder;
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700701 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
702 VT_NAME = 4,
703 VT_FIELDS = 6,
704 VT_IS_STRUCT = 8,
705 VT_MINALIGN = 10,
706 VT_BYTESIZE = 12,
707 VT_ATTRIBUTES = 14,
708 VT_DOCUMENTATION = 16
709 };
710 const flatbuffers::String *name() const {
711 return GetPointer<const flatbuffers::String *>(VT_NAME);
712 }
713 bool KeyCompareLessThan(const Object *o) const {
714 return *name() < *o->name();
715 }
716 int KeyCompareWithValue(const char *val) const {
717 return strcmp(name()->c_str(), val);
718 }
719 const flatbuffers::Vector<flatbuffers::Offset<reflection::Field>> *fields() const {
720 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<reflection::Field>> *>(VT_FIELDS);
721 }
722 bool is_struct() const {
723 return GetField<uint8_t>(VT_IS_STRUCT, 0) != 0;
724 }
725 int32_t minalign() const {
726 return GetField<int32_t>(VT_MINALIGN, 0);
727 }
728 int32_t bytesize() const {
729 return GetField<int32_t>(VT_BYTESIZE, 0);
730 }
731 const flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>> *attributes() const {
732 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>> *>(VT_ATTRIBUTES);
733 }
734 const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *documentation() const {
735 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *>(VT_DOCUMENTATION);
736 }
737 bool Verify(flatbuffers::Verifier &verifier) const {
738 return VerifyTableStart(verifier) &&
739 VerifyOffsetRequired(verifier, VT_NAME) &&
740 verifier.VerifyString(name()) &&
741 VerifyOffsetRequired(verifier, VT_FIELDS) &&
742 verifier.VerifyVector(fields()) &&
743 verifier.VerifyVectorOfTables(fields()) &&
744 VerifyField<uint8_t>(verifier, VT_IS_STRUCT) &&
745 VerifyField<int32_t>(verifier, VT_MINALIGN) &&
746 VerifyField<int32_t>(verifier, VT_BYTESIZE) &&
747 VerifyOffset(verifier, VT_ATTRIBUTES) &&
748 verifier.VerifyVector(attributes()) &&
749 verifier.VerifyVectorOfTables(attributes()) &&
750 VerifyOffset(verifier, VT_DOCUMENTATION) &&
751 verifier.VerifyVector(documentation()) &&
752 verifier.VerifyVectorOfStrings(documentation()) &&
753 verifier.EndTable();
754 }
755};
756
757struct ObjectBuilder {
Austin Schuh272c6132020-11-14 16:37:52 -0800758 typedef Object Table;
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700759 flatbuffers::FlatBufferBuilder &fbb_;
760 flatbuffers::uoffset_t start_;
761 void add_name(flatbuffers::Offset<flatbuffers::String> name) {
762 fbb_.AddOffset(Object::VT_NAME, name);
763 }
764 void add_fields(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::Field>>> fields) {
765 fbb_.AddOffset(Object::VT_FIELDS, fields);
766 }
767 void add_is_struct(bool is_struct) {
768 fbb_.AddElement<uint8_t>(Object::VT_IS_STRUCT, static_cast<uint8_t>(is_struct), 0);
769 }
770 void add_minalign(int32_t minalign) {
771 fbb_.AddElement<int32_t>(Object::VT_MINALIGN, minalign, 0);
772 }
773 void add_bytesize(int32_t bytesize) {
774 fbb_.AddElement<int32_t>(Object::VT_BYTESIZE, bytesize, 0);
775 }
776 void add_attributes(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>>> attributes) {
777 fbb_.AddOffset(Object::VT_ATTRIBUTES, attributes);
778 }
779 void add_documentation(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> documentation) {
780 fbb_.AddOffset(Object::VT_DOCUMENTATION, documentation);
781 }
782 explicit ObjectBuilder(flatbuffers::FlatBufferBuilder &_fbb)
783 : fbb_(_fbb) {
784 start_ = fbb_.StartTable();
785 }
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700786 flatbuffers::Offset<Object> Finish() {
787 const auto end = fbb_.EndTable(start_);
788 auto o = flatbuffers::Offset<Object>(end);
789 fbb_.Required(o, Object::VT_NAME);
790 fbb_.Required(o, Object::VT_FIELDS);
791 return o;
792 }
793};
794
795inline flatbuffers::Offset<Object> CreateObject(
796 flatbuffers::FlatBufferBuilder &_fbb,
797 flatbuffers::Offset<flatbuffers::String> name = 0,
798 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::Field>>> fields = 0,
799 bool is_struct = false,
800 int32_t minalign = 0,
801 int32_t bytesize = 0,
802 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>>> attributes = 0,
803 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> documentation = 0) {
804 ObjectBuilder builder_(_fbb);
805 builder_.add_documentation(documentation);
806 builder_.add_attributes(attributes);
807 builder_.add_bytesize(bytesize);
808 builder_.add_minalign(minalign);
809 builder_.add_fields(fields);
810 builder_.add_name(name);
811 builder_.add_is_struct(is_struct);
812 return builder_.Finish();
813}
814
815inline flatbuffers::Offset<Object> CreateObjectDirect(
816 flatbuffers::FlatBufferBuilder &_fbb,
817 const char *name = nullptr,
Austin Schuh272c6132020-11-14 16:37:52 -0800818 std::vector<flatbuffers::Offset<reflection::Field>> *fields = nullptr,
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700819 bool is_struct = false,
820 int32_t minalign = 0,
821 int32_t bytesize = 0,
Austin Schuh272c6132020-11-14 16:37:52 -0800822 std::vector<flatbuffers::Offset<reflection::KeyValue>> *attributes = nullptr,
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700823 const std::vector<flatbuffers::Offset<flatbuffers::String>> *documentation = nullptr) {
824 auto name__ = name ? _fbb.CreateString(name) : 0;
Austin Schuh272c6132020-11-14 16:37:52 -0800825 auto fields__ = fields ? _fbb.CreateVectorOfSortedTables<reflection::Field>(fields) : 0;
826 auto attributes__ = attributes ? _fbb.CreateVectorOfSortedTables<reflection::KeyValue>(attributes) : 0;
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700827 auto documentation__ = documentation ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*documentation) : 0;
828 return reflection::CreateObject(
829 _fbb,
830 name__,
831 fields__,
832 is_struct,
833 minalign,
834 bytesize,
835 attributes__,
836 documentation__);
837}
838
839struct RPCCall FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
Austin Schuh272c6132020-11-14 16:37:52 -0800840 typedef RPCCallBuilder Builder;
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700841 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
842 VT_NAME = 4,
843 VT_REQUEST = 6,
844 VT_RESPONSE = 8,
845 VT_ATTRIBUTES = 10,
846 VT_DOCUMENTATION = 12
847 };
848 const flatbuffers::String *name() const {
849 return GetPointer<const flatbuffers::String *>(VT_NAME);
850 }
851 bool KeyCompareLessThan(const RPCCall *o) const {
852 return *name() < *o->name();
853 }
854 int KeyCompareWithValue(const char *val) const {
855 return strcmp(name()->c_str(), val);
856 }
857 const reflection::Object *request() const {
858 return GetPointer<const reflection::Object *>(VT_REQUEST);
859 }
860 const reflection::Object *response() const {
861 return GetPointer<const reflection::Object *>(VT_RESPONSE);
862 }
863 const flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>> *attributes() const {
864 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>> *>(VT_ATTRIBUTES);
865 }
866 const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *documentation() const {
867 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *>(VT_DOCUMENTATION);
868 }
869 bool Verify(flatbuffers::Verifier &verifier) const {
870 return VerifyTableStart(verifier) &&
871 VerifyOffsetRequired(verifier, VT_NAME) &&
872 verifier.VerifyString(name()) &&
873 VerifyOffsetRequired(verifier, VT_REQUEST) &&
874 verifier.VerifyTable(request()) &&
875 VerifyOffsetRequired(verifier, VT_RESPONSE) &&
876 verifier.VerifyTable(response()) &&
877 VerifyOffset(verifier, VT_ATTRIBUTES) &&
878 verifier.VerifyVector(attributes()) &&
879 verifier.VerifyVectorOfTables(attributes()) &&
880 VerifyOffset(verifier, VT_DOCUMENTATION) &&
881 verifier.VerifyVector(documentation()) &&
882 verifier.VerifyVectorOfStrings(documentation()) &&
883 verifier.EndTable();
884 }
885};
886
887struct RPCCallBuilder {
Austin Schuh272c6132020-11-14 16:37:52 -0800888 typedef RPCCall Table;
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700889 flatbuffers::FlatBufferBuilder &fbb_;
890 flatbuffers::uoffset_t start_;
891 void add_name(flatbuffers::Offset<flatbuffers::String> name) {
892 fbb_.AddOffset(RPCCall::VT_NAME, name);
893 }
894 void add_request(flatbuffers::Offset<reflection::Object> request) {
895 fbb_.AddOffset(RPCCall::VT_REQUEST, request);
896 }
897 void add_response(flatbuffers::Offset<reflection::Object> response) {
898 fbb_.AddOffset(RPCCall::VT_RESPONSE, response);
899 }
900 void add_attributes(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>>> attributes) {
901 fbb_.AddOffset(RPCCall::VT_ATTRIBUTES, attributes);
902 }
903 void add_documentation(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> documentation) {
904 fbb_.AddOffset(RPCCall::VT_DOCUMENTATION, documentation);
905 }
906 explicit RPCCallBuilder(flatbuffers::FlatBufferBuilder &_fbb)
907 : fbb_(_fbb) {
908 start_ = fbb_.StartTable();
909 }
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700910 flatbuffers::Offset<RPCCall> Finish() {
911 const auto end = fbb_.EndTable(start_);
912 auto o = flatbuffers::Offset<RPCCall>(end);
913 fbb_.Required(o, RPCCall::VT_NAME);
914 fbb_.Required(o, RPCCall::VT_REQUEST);
915 fbb_.Required(o, RPCCall::VT_RESPONSE);
916 return o;
917 }
918};
919
920inline flatbuffers::Offset<RPCCall> CreateRPCCall(
921 flatbuffers::FlatBufferBuilder &_fbb,
922 flatbuffers::Offset<flatbuffers::String> name = 0,
923 flatbuffers::Offset<reflection::Object> request = 0,
924 flatbuffers::Offset<reflection::Object> response = 0,
925 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>>> attributes = 0,
926 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> documentation = 0) {
927 RPCCallBuilder builder_(_fbb);
928 builder_.add_documentation(documentation);
929 builder_.add_attributes(attributes);
930 builder_.add_response(response);
931 builder_.add_request(request);
932 builder_.add_name(name);
933 return builder_.Finish();
934}
935
936inline flatbuffers::Offset<RPCCall> CreateRPCCallDirect(
937 flatbuffers::FlatBufferBuilder &_fbb,
938 const char *name = nullptr,
939 flatbuffers::Offset<reflection::Object> request = 0,
940 flatbuffers::Offset<reflection::Object> response = 0,
Austin Schuh272c6132020-11-14 16:37:52 -0800941 std::vector<flatbuffers::Offset<reflection::KeyValue>> *attributes = nullptr,
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700942 const std::vector<flatbuffers::Offset<flatbuffers::String>> *documentation = nullptr) {
943 auto name__ = name ? _fbb.CreateString(name) : 0;
Austin Schuh272c6132020-11-14 16:37:52 -0800944 auto attributes__ = attributes ? _fbb.CreateVectorOfSortedTables<reflection::KeyValue>(attributes) : 0;
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700945 auto documentation__ = documentation ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*documentation) : 0;
946 return reflection::CreateRPCCall(
947 _fbb,
948 name__,
949 request,
950 response,
951 attributes__,
952 documentation__);
953}
954
955struct Service FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
Austin Schuh272c6132020-11-14 16:37:52 -0800956 typedef ServiceBuilder Builder;
Austin Schuhe89fa2d2019-08-14 20:24:23 -0700957 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
958 VT_NAME = 4,
959 VT_CALLS = 6,
960 VT_ATTRIBUTES = 8,
961 VT_DOCUMENTATION = 10
962 };
963 const flatbuffers::String *name() const {
964 return GetPointer<const flatbuffers::String *>(VT_NAME);
965 }
966 bool KeyCompareLessThan(const Service *o) const {
967 return *name() < *o->name();
968 }
969 int KeyCompareWithValue(const char *val) const {
970 return strcmp(name()->c_str(), val);
971 }
972 const flatbuffers::Vector<flatbuffers::Offset<reflection::RPCCall>> *calls() const {
973 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<reflection::RPCCall>> *>(VT_CALLS);
974 }
975 const flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>> *attributes() const {
976 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>> *>(VT_ATTRIBUTES);
977 }
978 const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *documentation() const {
979 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *>(VT_DOCUMENTATION);
980 }
981 bool Verify(flatbuffers::Verifier &verifier) const {
982 return VerifyTableStart(verifier) &&
983 VerifyOffsetRequired(verifier, VT_NAME) &&
984 verifier.VerifyString(name()) &&
985 VerifyOffset(verifier, VT_CALLS) &&
986 verifier.VerifyVector(calls()) &&
987 verifier.VerifyVectorOfTables(calls()) &&
988 VerifyOffset(verifier, VT_ATTRIBUTES) &&
989 verifier.VerifyVector(attributes()) &&
990 verifier.VerifyVectorOfTables(attributes()) &&
991 VerifyOffset(verifier, VT_DOCUMENTATION) &&
992 verifier.VerifyVector(documentation()) &&
993 verifier.VerifyVectorOfStrings(documentation()) &&
994 verifier.EndTable();
995 }
996};
997
998struct ServiceBuilder {
Austin Schuh272c6132020-11-14 16:37:52 -0800999 typedef Service Table;
Austin Schuhe89fa2d2019-08-14 20:24:23 -07001000 flatbuffers::FlatBufferBuilder &fbb_;
1001 flatbuffers::uoffset_t start_;
1002 void add_name(flatbuffers::Offset<flatbuffers::String> name) {
1003 fbb_.AddOffset(Service::VT_NAME, name);
1004 }
1005 void add_calls(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::RPCCall>>> calls) {
1006 fbb_.AddOffset(Service::VT_CALLS, calls);
1007 }
1008 void add_attributes(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>>> attributes) {
1009 fbb_.AddOffset(Service::VT_ATTRIBUTES, attributes);
1010 }
1011 void add_documentation(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> documentation) {
1012 fbb_.AddOffset(Service::VT_DOCUMENTATION, documentation);
1013 }
1014 explicit ServiceBuilder(flatbuffers::FlatBufferBuilder &_fbb)
1015 : fbb_(_fbb) {
1016 start_ = fbb_.StartTable();
1017 }
Austin Schuhe89fa2d2019-08-14 20:24:23 -07001018 flatbuffers::Offset<Service> Finish() {
1019 const auto end = fbb_.EndTable(start_);
1020 auto o = flatbuffers::Offset<Service>(end);
1021 fbb_.Required(o, Service::VT_NAME);
1022 return o;
1023 }
1024};
1025
1026inline flatbuffers::Offset<Service> CreateService(
1027 flatbuffers::FlatBufferBuilder &_fbb,
1028 flatbuffers::Offset<flatbuffers::String> name = 0,
1029 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::RPCCall>>> calls = 0,
1030 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>>> attributes = 0,
1031 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> documentation = 0) {
1032 ServiceBuilder builder_(_fbb);
1033 builder_.add_documentation(documentation);
1034 builder_.add_attributes(attributes);
1035 builder_.add_calls(calls);
1036 builder_.add_name(name);
1037 return builder_.Finish();
1038}
1039
1040inline flatbuffers::Offset<Service> CreateServiceDirect(
1041 flatbuffers::FlatBufferBuilder &_fbb,
1042 const char *name = nullptr,
Austin Schuh272c6132020-11-14 16:37:52 -08001043 std::vector<flatbuffers::Offset<reflection::RPCCall>> *calls = nullptr,
1044 std::vector<flatbuffers::Offset<reflection::KeyValue>> *attributes = nullptr,
Austin Schuhe89fa2d2019-08-14 20:24:23 -07001045 const std::vector<flatbuffers::Offset<flatbuffers::String>> *documentation = nullptr) {
1046 auto name__ = name ? _fbb.CreateString(name) : 0;
Austin Schuh272c6132020-11-14 16:37:52 -08001047 auto calls__ = calls ? _fbb.CreateVectorOfSortedTables<reflection::RPCCall>(calls) : 0;
1048 auto attributes__ = attributes ? _fbb.CreateVectorOfSortedTables<reflection::KeyValue>(attributes) : 0;
Austin Schuhe89fa2d2019-08-14 20:24:23 -07001049 auto documentation__ = documentation ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*documentation) : 0;
1050 return reflection::CreateService(
1051 _fbb,
1052 name__,
1053 calls__,
1054 attributes__,
1055 documentation__);
1056}
1057
1058struct Schema FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
Austin Schuh272c6132020-11-14 16:37:52 -08001059 typedef SchemaBuilder Builder;
Austin Schuhe89fa2d2019-08-14 20:24:23 -07001060 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1061 VT_OBJECTS = 4,
1062 VT_ENUMS = 6,
1063 VT_FILE_IDENT = 8,
1064 VT_FILE_EXT = 10,
1065 VT_ROOT_TABLE = 12,
1066 VT_SERVICES = 14
1067 };
1068 const flatbuffers::Vector<flatbuffers::Offset<reflection::Object>> *objects() const {
1069 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<reflection::Object>> *>(VT_OBJECTS);
1070 }
1071 const flatbuffers::Vector<flatbuffers::Offset<reflection::Enum>> *enums() const {
1072 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<reflection::Enum>> *>(VT_ENUMS);
1073 }
1074 const flatbuffers::String *file_ident() const {
1075 return GetPointer<const flatbuffers::String *>(VT_FILE_IDENT);
1076 }
1077 const flatbuffers::String *file_ext() const {
1078 return GetPointer<const flatbuffers::String *>(VT_FILE_EXT);
1079 }
1080 const reflection::Object *root_table() const {
1081 return GetPointer<const reflection::Object *>(VT_ROOT_TABLE);
1082 }
1083 const flatbuffers::Vector<flatbuffers::Offset<reflection::Service>> *services() const {
1084 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<reflection::Service>> *>(VT_SERVICES);
1085 }
1086 bool Verify(flatbuffers::Verifier &verifier) const {
1087 return VerifyTableStart(verifier) &&
1088 VerifyOffsetRequired(verifier, VT_OBJECTS) &&
1089 verifier.VerifyVector(objects()) &&
1090 verifier.VerifyVectorOfTables(objects()) &&
1091 VerifyOffsetRequired(verifier, VT_ENUMS) &&
1092 verifier.VerifyVector(enums()) &&
1093 verifier.VerifyVectorOfTables(enums()) &&
1094 VerifyOffset(verifier, VT_FILE_IDENT) &&
1095 verifier.VerifyString(file_ident()) &&
1096 VerifyOffset(verifier, VT_FILE_EXT) &&
1097 verifier.VerifyString(file_ext()) &&
1098 VerifyOffset(verifier, VT_ROOT_TABLE) &&
1099 verifier.VerifyTable(root_table()) &&
1100 VerifyOffset(verifier, VT_SERVICES) &&
1101 verifier.VerifyVector(services()) &&
1102 verifier.VerifyVectorOfTables(services()) &&
1103 verifier.EndTable();
1104 }
1105};
1106
1107struct SchemaBuilder {
Austin Schuh272c6132020-11-14 16:37:52 -08001108 typedef Schema Table;
Austin Schuhe89fa2d2019-08-14 20:24:23 -07001109 flatbuffers::FlatBufferBuilder &fbb_;
1110 flatbuffers::uoffset_t start_;
1111 void add_objects(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::Object>>> objects) {
1112 fbb_.AddOffset(Schema::VT_OBJECTS, objects);
1113 }
1114 void add_enums(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::Enum>>> enums) {
1115 fbb_.AddOffset(Schema::VT_ENUMS, enums);
1116 }
1117 void add_file_ident(flatbuffers::Offset<flatbuffers::String> file_ident) {
1118 fbb_.AddOffset(Schema::VT_FILE_IDENT, file_ident);
1119 }
1120 void add_file_ext(flatbuffers::Offset<flatbuffers::String> file_ext) {
1121 fbb_.AddOffset(Schema::VT_FILE_EXT, file_ext);
1122 }
1123 void add_root_table(flatbuffers::Offset<reflection::Object> root_table) {
1124 fbb_.AddOffset(Schema::VT_ROOT_TABLE, root_table);
1125 }
1126 void add_services(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::Service>>> services) {
1127 fbb_.AddOffset(Schema::VT_SERVICES, services);
1128 }
1129 explicit SchemaBuilder(flatbuffers::FlatBufferBuilder &_fbb)
1130 : fbb_(_fbb) {
1131 start_ = fbb_.StartTable();
1132 }
Austin Schuhe89fa2d2019-08-14 20:24:23 -07001133 flatbuffers::Offset<Schema> Finish() {
1134 const auto end = fbb_.EndTable(start_);
1135 auto o = flatbuffers::Offset<Schema>(end);
1136 fbb_.Required(o, Schema::VT_OBJECTS);
1137 fbb_.Required(o, Schema::VT_ENUMS);
1138 return o;
1139 }
1140};
1141
1142inline flatbuffers::Offset<Schema> CreateSchema(
1143 flatbuffers::FlatBufferBuilder &_fbb,
1144 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::Object>>> objects = 0,
1145 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::Enum>>> enums = 0,
1146 flatbuffers::Offset<flatbuffers::String> file_ident = 0,
1147 flatbuffers::Offset<flatbuffers::String> file_ext = 0,
1148 flatbuffers::Offset<reflection::Object> root_table = 0,
1149 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::Service>>> services = 0) {
1150 SchemaBuilder builder_(_fbb);
1151 builder_.add_services(services);
1152 builder_.add_root_table(root_table);
1153 builder_.add_file_ext(file_ext);
1154 builder_.add_file_ident(file_ident);
1155 builder_.add_enums(enums);
1156 builder_.add_objects(objects);
1157 return builder_.Finish();
1158}
1159
1160inline flatbuffers::Offset<Schema> CreateSchemaDirect(
1161 flatbuffers::FlatBufferBuilder &_fbb,
Austin Schuh272c6132020-11-14 16:37:52 -08001162 std::vector<flatbuffers::Offset<reflection::Object>> *objects = nullptr,
1163 std::vector<flatbuffers::Offset<reflection::Enum>> *enums = nullptr,
Austin Schuhe89fa2d2019-08-14 20:24:23 -07001164 const char *file_ident = nullptr,
1165 const char *file_ext = nullptr,
1166 flatbuffers::Offset<reflection::Object> root_table = 0,
Austin Schuh272c6132020-11-14 16:37:52 -08001167 std::vector<flatbuffers::Offset<reflection::Service>> *services = nullptr) {
1168 auto objects__ = objects ? _fbb.CreateVectorOfSortedTables<reflection::Object>(objects) : 0;
1169 auto enums__ = enums ? _fbb.CreateVectorOfSortedTables<reflection::Enum>(enums) : 0;
Austin Schuhe89fa2d2019-08-14 20:24:23 -07001170 auto file_ident__ = file_ident ? _fbb.CreateString(file_ident) : 0;
1171 auto file_ext__ = file_ext ? _fbb.CreateString(file_ext) : 0;
Austin Schuh272c6132020-11-14 16:37:52 -08001172 auto services__ = services ? _fbb.CreateVectorOfSortedTables<reflection::Service>(services) : 0;
Austin Schuhe89fa2d2019-08-14 20:24:23 -07001173 return reflection::CreateSchema(
1174 _fbb,
1175 objects__,
1176 enums__,
1177 file_ident__,
1178 file_ext__,
1179 root_table,
1180 services__);
1181}
1182
1183inline const reflection::Schema *GetSchema(const void *buf) {
1184 return flatbuffers::GetRoot<reflection::Schema>(buf);
1185}
1186
1187inline const reflection::Schema *GetSizePrefixedSchema(const void *buf) {
1188 return flatbuffers::GetSizePrefixedRoot<reflection::Schema>(buf);
1189}
1190
1191inline const char *SchemaIdentifier() {
1192 return "BFBS";
1193}
1194
1195inline bool SchemaBufferHasIdentifier(const void *buf) {
1196 return flatbuffers::BufferHasIdentifier(
1197 buf, SchemaIdentifier());
1198}
1199
1200inline bool VerifySchemaBuffer(
1201 flatbuffers::Verifier &verifier) {
1202 return verifier.VerifyBuffer<reflection::Schema>(SchemaIdentifier());
1203}
1204
1205inline bool VerifySizePrefixedSchemaBuffer(
1206 flatbuffers::Verifier &verifier) {
1207 return verifier.VerifySizePrefixedBuffer<reflection::Schema>(SchemaIdentifier());
1208}
1209
1210inline const char *SchemaExtension() {
1211 return "bfbs";
1212}
1213
1214inline void FinishSchemaBuffer(
1215 flatbuffers::FlatBufferBuilder &fbb,
1216 flatbuffers::Offset<reflection::Schema> root) {
1217 fbb.Finish(root, SchemaIdentifier());
1218}
1219
1220inline void FinishSizePrefixedSchemaBuffer(
1221 flatbuffers::FlatBufferBuilder &fbb,
1222 flatbuffers::Offset<reflection::Schema> root) {
1223 fbb.FinishSizePrefixed(root, SchemaIdentifier());
1224}
1225
1226} // namespace reflection
1227
1228#endif // FLATBUFFERS_GENERATED_REFLECTION_REFLECTION_H_