reflection_generated.h 44 KB

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