// automatically generated by the FlatBuffers compiler, do not modify #ifndef FLATBUFFERS_GENERATED_ROBOTMODULE_H_ #define FLATBUFFERS_GENERATED_ROBOTMODULE_H_ #include "flatbuffers/flatbuffers.h" // Ensure the included flatbuffers.h is the same version as when this file was // generated, otherwise it may not be compatible. // static_assert(FLATBUFFERS_VERSION_MAJOR == 25 && // FLATBUFFERS_VERSION_MINOR == 2 && // FLATBUFFERS_VERSION_REVISION == 10, // "Non-compatible flatbuffers version included"); struct RobotModule; struct RobotModuleBuilder; enum ModuleType : int8_t { ModuleType_SPLITTER = 0, ModuleType_SERVO_1 = 1, ModuleType_DC_MOTOR = 2, ModuleType_BATTERY = 3, ModuleType_MIN = ModuleType_SPLITTER, ModuleType_MAX = ModuleType_BATTERY }; inline const ModuleType (&EnumValuesModuleType())[4] { static const ModuleType values[] = { ModuleType_SPLITTER, ModuleType_SERVO_1, ModuleType_DC_MOTOR, ModuleType_BATTERY }; return values; } inline const char * const *EnumNamesModuleType() { static const char * const names[5] = { "SPLITTER", "SERVO_1", "DC_MOTOR", "BATTERY", nullptr }; return names; } inline const char *EnumNameModuleType(ModuleType e) { if (::flatbuffers::IsOutRange(e, ModuleType_SPLITTER, ModuleType_BATTERY)) return ""; const size_t index = static_cast(e); return EnumNamesModuleType()[index]; } struct RobotModule FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { typedef RobotModuleBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_ID = 4, VT_IP = 6, VT_HOSTNAME = 8, VT_MODULE_TYPE = 10, VT_CONNECTED_MODULE_IDS = 12 }; int32_t id() const { return GetField(VT_ID, 0); } const ::flatbuffers::String *ip() const { return GetPointer(VT_IP); } const ::flatbuffers::String *hostname() const { return GetPointer(VT_HOSTNAME); } ModuleType module_type() const { return static_cast(GetField(VT_MODULE_TYPE, 0)); } const ::flatbuffers::Vector *connected_module_ids() const { return GetPointer *>(VT_CONNECTED_MODULE_IDS); } bool Verify(::flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_ID, 4) && VerifyOffset(verifier, VT_IP) && verifier.VerifyString(ip()) && VerifyOffset(verifier, VT_HOSTNAME) && verifier.VerifyString(hostname()) && VerifyField(verifier, VT_MODULE_TYPE, 1) && VerifyOffset(verifier, VT_CONNECTED_MODULE_IDS) && verifier.VerifyVector(connected_module_ids()) && verifier.EndTable(); } }; struct RobotModuleBuilder { typedef RobotModule Table; ::flatbuffers::FlatBufferBuilder &fbb_; ::flatbuffers::uoffset_t start_; void add_id(int32_t id) { fbb_.AddElement(RobotModule::VT_ID, id, 0); } void add_ip(::flatbuffers::Offset<::flatbuffers::String> ip) { fbb_.AddOffset(RobotModule::VT_IP, ip); } void add_hostname(::flatbuffers::Offset<::flatbuffers::String> hostname) { fbb_.AddOffset(RobotModule::VT_HOSTNAME, hostname); } void add_module_type(ModuleType module_type) { fbb_.AddElement(RobotModule::VT_MODULE_TYPE, static_cast(module_type), 0); } void add_connected_module_ids(::flatbuffers::Offset<::flatbuffers::Vector> connected_module_ids) { fbb_.AddOffset(RobotModule::VT_CONNECTED_MODULE_IDS, connected_module_ids); } explicit RobotModuleBuilder(::flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } ::flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = ::flatbuffers::Offset(end); return o; } }; inline ::flatbuffers::Offset CreateRobotModule( ::flatbuffers::FlatBufferBuilder &_fbb, int32_t id = 0, ::flatbuffers::Offset<::flatbuffers::String> ip = 0, ::flatbuffers::Offset<::flatbuffers::String> hostname = 0, ModuleType module_type = ModuleType_SPLITTER, ::flatbuffers::Offset<::flatbuffers::Vector> connected_module_ids = 0) { RobotModuleBuilder builder_(_fbb); builder_.add_connected_module_ids(connected_module_ids); builder_.add_hostname(hostname); builder_.add_ip(ip); builder_.add_id(id); builder_.add_module_type(module_type); return builder_.Finish(); } inline ::flatbuffers::Offset CreateRobotModuleDirect( ::flatbuffers::FlatBufferBuilder &_fbb, int32_t id = 0, const char *ip = nullptr, const char *hostname = nullptr, ModuleType module_type = ModuleType_SPLITTER, const std::vector *connected_module_ids = nullptr) { auto ip__ = ip ? _fbb.CreateString(ip) : 0; auto hostname__ = hostname ? _fbb.CreateString(hostname) : 0; auto connected_module_ids__ = connected_module_ids ? _fbb.CreateVector(*connected_module_ids) : 0; return CreateRobotModule( _fbb, id, ip__, hostname__, module_type, connected_module_ids__); } inline const RobotModule *GetRobotModule(const void *buf) { return ::flatbuffers::GetRoot(buf); } inline const RobotModule *GetSizePrefixedRobotModule(const void *buf) { return ::flatbuffers::GetSizePrefixedRoot(buf); } inline bool VerifyRobotModuleBuffer( ::flatbuffers::Verifier &verifier) { return verifier.VerifyBuffer(nullptr); } inline bool VerifySizePrefixedRobotModuleBuffer( ::flatbuffers::Verifier &verifier) { return verifier.VerifySizePrefixedBuffer(nullptr); } inline void FinishRobotModuleBuffer( ::flatbuffers::FlatBufferBuilder &fbb, ::flatbuffers::Offset root) { fbb.Finish(root); } inline void FinishSizePrefixedRobotModuleBuffer( ::flatbuffers::FlatBufferBuilder &fbb, ::flatbuffers::Offset root) { fbb.FinishSizePrefixed(root); } #endif // FLATBUFFERS_GENERATED_ROBOTMODULE_H_