diff --git a/Build.bat b/Build.bat new file mode 100644 index 0000000000000000000000000000000000000000..3daa1be4b0944c54640fac98c2b9efa451fcf198 --- /dev/null +++ b/Build.bat @@ -0,0 +1,4 @@ +cd %cd% +flatc.exe -c ModeliProtocol.fbs +flatc.exe -n ModeliProtocol.fbs +cmd /k \ No newline at end of file diff --git a/ModeliProtocol.fbs b/ModeliProtocol.fbs new file mode 100644 index 0000000000000000000000000000000000000000..3ba20ddd19785e704d4f46ebce923db48ba9a22f --- /dev/null +++ b/ModeliProtocol.fbs @@ -0,0 +1,101 @@ +// This protocol is used by the ModeliChart backend to transfer data to the frontend +namespace Network.Protocol; + +// The commands +enum CommandEnum : int { + KeepAlive, // Send this command to check if the connection is still alive, do nothing in the backend + Play, // Start simulating + PlayFast, // Simulate as quick as possible + Pause, // Pause simulation + Stop, // Stop and reset simulation + AddFmu, // Receive the binary + RemoveFmu, // Remove a model + ValueRefs, // Receive the default ValueRefs used for simulation + AddChannelLinks, // Add ChannelLinks + RemoveChannelLinks, // Remove ChannelLinks + Feedback, // Send a fmi2Status & msg (optional 0 as size) to the frontend + IntValues, // Integer values, to backend: set values in fmu, to frontend: latest values from simulation + RealValues, // Real values, to backend: set values in fmu, to frontend: latest values from simulation + BoolValues, // Boolean values, to backend: set values in fmu, to frontend: latest values from simulation + StringValues, // String, to backend: set values in fmu, to frontend: latest values from simulation + Log // Send a log message to the frontend +} + +// Contains the information to execute the command +union DataUnion { + Time, FmuFile, ValueRefs, ChannelLink, + IntValues, RealValues, BoolValues, StringValues, Feedback, Log +} + +// For message management +table ModeliMessage { + Command:CommandEnum; + JobNr:int; + Data:DataUnion; +} + +table Time { + Value:double; +} + +table FmuFile{ + InstanceName:string; + BinarySize:int; +} + +table ValueRefs { + InstanceName:string; + IntVrs:[uint]; + RealVrs:[uint]; + BoolVrs:[uint]; + StringVrs:[uint]; +} + +table ChannelLink { + MasterInstanceName:string; + SlaveInstanceName:string; + MasterVr:uint; + SlaveVr:uint; + Factor:double; + Shift:double; +} + +table IntValues { + InstanceName:string; + Timestamp:double; + ValueRefs:[uint]; + Values:[int]; +} + +table RealValues { + InstanceName:string; + Timestamp:double; + ValueRefs:[uint]; + Values:[double]; +} + +table BoolValues { + InstanceName:string; + Timestamp:double; + ValueRefs:[uint]; + Values:[int]; // fmistandard: stored as 1(true) or 0(false) int +} + +table StringValues { + InstanceName:string; + Timestamp:double; + ValueRefs:[uint]; + Values:[string]; +} + +table Feedback { + Result:int; + Message:string; +} + +table Log { + InstanceName:string; + Message:string; +} + +root_type ModeliMessage; \ No newline at end of file diff --git a/ModeliProtocol_generated.h b/ModeliProtocol_generated.h new file mode 100644 index 0000000000000000000000000000000000000000..4e81120bc5d845d4504050585bbe0a51cc7c3bfc --- /dev/null +++ b/ModeliProtocol_generated.h @@ -0,0 +1,1212 @@ +// automatically generated by the FlatBuffers compiler, do not modify + + +#ifndef FLATBUFFERS_GENERATED_MODELIPROTOCOL_NETWORK_PROTOCOL_H_ +#define FLATBUFFERS_GENERATED_MODELIPROTOCOL_NETWORK_PROTOCOL_H_ + +#include "flatbuffers/flatbuffers.h" + +namespace Network { +namespace Protocol { + +struct ModeliMessage; + +struct Time; + +struct FmuFile; + +struct ValueRefs; + +struct ChannelLink; + +struct IntValues; + +struct RealValues; + +struct BoolValues; + +struct StringValues; + +struct Feedback; + +struct Log; + +enum CommandEnum { + CommandEnum_KeepAlive = 0, + CommandEnum_Play = 1, + CommandEnum_PlayFast = 2, + CommandEnum_Pause = 3, + CommandEnum_Stop = 4, + CommandEnum_AddFmu = 5, + CommandEnum_RemoveFmu = 6, + CommandEnum_ValueRefs = 7, + CommandEnum_AddChannelLinks = 8, + CommandEnum_RemoveChannelLinks = 9, + CommandEnum_Feedback = 10, + CommandEnum_IntValues = 11, + CommandEnum_RealValues = 12, + CommandEnum_BoolValues = 13, + CommandEnum_StringValues = 14, + CommandEnum_Log = 15, + CommandEnum_MIN = CommandEnum_KeepAlive, + CommandEnum_MAX = CommandEnum_Log +}; + +inline CommandEnum (&EnumValuesCommandEnum())[16] { + static CommandEnum values[] = { + CommandEnum_KeepAlive, + CommandEnum_Play, + CommandEnum_PlayFast, + CommandEnum_Pause, + CommandEnum_Stop, + CommandEnum_AddFmu, + CommandEnum_RemoveFmu, + CommandEnum_ValueRefs, + CommandEnum_AddChannelLinks, + CommandEnum_RemoveChannelLinks, + CommandEnum_Feedback, + CommandEnum_IntValues, + CommandEnum_RealValues, + CommandEnum_BoolValues, + CommandEnum_StringValues, + CommandEnum_Log + }; + return values; +} + +inline const char **EnumNamesCommandEnum() { + static const char *names[] = { + "KeepAlive", + "Play", + "PlayFast", + "Pause", + "Stop", + "AddFmu", + "RemoveFmu", + "ValueRefs", + "AddChannelLinks", + "RemoveChannelLinks", + "Feedback", + "IntValues", + "RealValues", + "BoolValues", + "StringValues", + "Log", + nullptr + }; + return names; +} + +inline const char *EnumNameCommandEnum(CommandEnum e) { + const size_t index = static_cast<int>(e); + return EnumNamesCommandEnum()[index]; +} + +enum DataUnion { + DataUnion_NONE = 0, + DataUnion_Time = 1, + DataUnion_FmuFile = 2, + DataUnion_ValueRefs = 3, + DataUnion_ChannelLink = 4, + DataUnion_IntValues = 5, + DataUnion_RealValues = 6, + DataUnion_BoolValues = 7, + DataUnion_StringValues = 8, + DataUnion_Feedback = 9, + DataUnion_Log = 10, + DataUnion_MIN = DataUnion_NONE, + DataUnion_MAX = DataUnion_Log +}; + +inline DataUnion (&EnumValuesDataUnion())[11] { + static DataUnion values[] = { + DataUnion_NONE, + DataUnion_Time, + DataUnion_FmuFile, + DataUnion_ValueRefs, + DataUnion_ChannelLink, + DataUnion_IntValues, + DataUnion_RealValues, + DataUnion_BoolValues, + DataUnion_StringValues, + DataUnion_Feedback, + DataUnion_Log + }; + return values; +} + +inline const char **EnumNamesDataUnion() { + static const char *names[] = { + "NONE", + "Time", + "FmuFile", + "ValueRefs", + "ChannelLink", + "IntValues", + "RealValues", + "BoolValues", + "StringValues", + "Feedback", + "Log", + nullptr + }; + return names; +} + +inline const char *EnumNameDataUnion(DataUnion e) { + const size_t index = static_cast<int>(e); + return EnumNamesDataUnion()[index]; +} + +template<typename T> struct DataUnionTraits { + static const DataUnion enum_value = DataUnion_NONE; +}; + +template<> struct DataUnionTraits<Time> { + static const DataUnion enum_value = DataUnion_Time; +}; + +template<> struct DataUnionTraits<FmuFile> { + static const DataUnion enum_value = DataUnion_FmuFile; +}; + +template<> struct DataUnionTraits<ValueRefs> { + static const DataUnion enum_value = DataUnion_ValueRefs; +}; + +template<> struct DataUnionTraits<ChannelLink> { + static const DataUnion enum_value = DataUnion_ChannelLink; +}; + +template<> struct DataUnionTraits<IntValues> { + static const DataUnion enum_value = DataUnion_IntValues; +}; + +template<> struct DataUnionTraits<RealValues> { + static const DataUnion enum_value = DataUnion_RealValues; +}; + +template<> struct DataUnionTraits<BoolValues> { + static const DataUnion enum_value = DataUnion_BoolValues; +}; + +template<> struct DataUnionTraits<StringValues> { + static const DataUnion enum_value = DataUnion_StringValues; +}; + +template<> struct DataUnionTraits<Feedback> { + static const DataUnion enum_value = DataUnion_Feedback; +}; + +template<> struct DataUnionTraits<Log> { + static const DataUnion enum_value = DataUnion_Log; +}; + +bool VerifyDataUnion(flatbuffers::Verifier &verifier, const void *obj, DataUnion type); +bool VerifyDataUnionVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector<flatbuffers::Offset<void>> *values, const flatbuffers::Vector<uint8_t> *types); + +struct ModeliMessage FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + enum { + VT_COMMAND = 4, + VT_JOBNR = 6, + VT_DATA_TYPE = 8, + VT_DATA = 10 + }; + CommandEnum Command() const { + return static_cast<CommandEnum>(GetField<int32_t>(VT_COMMAND, 0)); + } + int32_t JobNr() const { + return GetField<int32_t>(VT_JOBNR, 0); + } + DataUnion Data_type() const { + return static_cast<DataUnion>(GetField<uint8_t>(VT_DATA_TYPE, 0)); + } + const void *Data() const { + return GetPointer<const void *>(VT_DATA); + } + template<typename T> const T *Data_as() const; + const Time *Data_as_Time() const { + return Data_type() == DataUnion_Time ? static_cast<const Time *>(Data()) : nullptr; + } + const FmuFile *Data_as_FmuFile() const { + return Data_type() == DataUnion_FmuFile ? static_cast<const FmuFile *>(Data()) : nullptr; + } + const ValueRefs *Data_as_ValueRefs() const { + return Data_type() == DataUnion_ValueRefs ? static_cast<const ValueRefs *>(Data()) : nullptr; + } + const ChannelLink *Data_as_ChannelLink() const { + return Data_type() == DataUnion_ChannelLink ? static_cast<const ChannelLink *>(Data()) : nullptr; + } + const IntValues *Data_as_IntValues() const { + return Data_type() == DataUnion_IntValues ? static_cast<const IntValues *>(Data()) : nullptr; + } + const RealValues *Data_as_RealValues() const { + return Data_type() == DataUnion_RealValues ? static_cast<const RealValues *>(Data()) : nullptr; + } + const BoolValues *Data_as_BoolValues() const { + return Data_type() == DataUnion_BoolValues ? static_cast<const BoolValues *>(Data()) : nullptr; + } + const StringValues *Data_as_StringValues() const { + return Data_type() == DataUnion_StringValues ? static_cast<const StringValues *>(Data()) : nullptr; + } + const Feedback *Data_as_Feedback() const { + return Data_type() == DataUnion_Feedback ? static_cast<const Feedback *>(Data()) : nullptr; + } + const Log *Data_as_Log() const { + return Data_type() == DataUnion_Log ? static_cast<const Log *>(Data()) : nullptr; + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField<int32_t>(verifier, VT_COMMAND) && + VerifyField<int32_t>(verifier, VT_JOBNR) && + VerifyField<uint8_t>(verifier, VT_DATA_TYPE) && + VerifyOffset(verifier, VT_DATA) && + VerifyDataUnion(verifier, Data(), Data_type()) && + verifier.EndTable(); + } +}; + +template<> inline const Time *ModeliMessage::Data_as<Time>() const { + return Data_as_Time(); +} + +template<> inline const FmuFile *ModeliMessage::Data_as<FmuFile>() const { + return Data_as_FmuFile(); +} + +template<> inline const ValueRefs *ModeliMessage::Data_as<ValueRefs>() const { + return Data_as_ValueRefs(); +} + +template<> inline const ChannelLink *ModeliMessage::Data_as<ChannelLink>() const { + return Data_as_ChannelLink(); +} + +template<> inline const IntValues *ModeliMessage::Data_as<IntValues>() const { + return Data_as_IntValues(); +} + +template<> inline const RealValues *ModeliMessage::Data_as<RealValues>() const { + return Data_as_RealValues(); +} + +template<> inline const BoolValues *ModeliMessage::Data_as<BoolValues>() const { + return Data_as_BoolValues(); +} + +template<> inline const StringValues *ModeliMessage::Data_as<StringValues>() const { + return Data_as_StringValues(); +} + +template<> inline const Feedback *ModeliMessage::Data_as<Feedback>() const { + return Data_as_Feedback(); +} + +template<> inline const Log *ModeliMessage::Data_as<Log>() const { + return Data_as_Log(); +} + +struct ModeliMessageBuilder { + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_Command(CommandEnum Command) { + fbb_.AddElement<int32_t>(ModeliMessage::VT_COMMAND, static_cast<int32_t>(Command), 0); + } + void add_JobNr(int32_t JobNr) { + fbb_.AddElement<int32_t>(ModeliMessage::VT_JOBNR, JobNr, 0); + } + void add_Data_type(DataUnion Data_type) { + fbb_.AddElement<uint8_t>(ModeliMessage::VT_DATA_TYPE, static_cast<uint8_t>(Data_type), 0); + } + void add_Data(flatbuffers::Offset<void> Data) { + fbb_.AddOffset(ModeliMessage::VT_DATA, Data); + } + ModeliMessageBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ModeliMessageBuilder &operator=(const ModeliMessageBuilder &); + flatbuffers::Offset<ModeliMessage> Finish() { + const auto end = fbb_.EndTable(start_, 4); + auto o = flatbuffers::Offset<ModeliMessage>(end); + return o; + } +}; + +inline flatbuffers::Offset<ModeliMessage> CreateModeliMessage( + flatbuffers::FlatBufferBuilder &_fbb, + CommandEnum Command = CommandEnum_KeepAlive, + int32_t JobNr = 0, + DataUnion Data_type = DataUnion_NONE, + flatbuffers::Offset<void> Data = 0) { + ModeliMessageBuilder builder_(_fbb); + builder_.add_Data(Data); + builder_.add_JobNr(JobNr); + builder_.add_Command(Command); + builder_.add_Data_type(Data_type); + return builder_.Finish(); +} + +struct Time FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + enum { + VT_VALUE = 4 + }; + double Value() const { + return GetField<double>(VT_VALUE, 0.0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField<double>(verifier, VT_VALUE) && + verifier.EndTable(); + } +}; + +struct TimeBuilder { + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_Value(double Value) { + fbb_.AddElement<double>(Time::VT_VALUE, Value, 0.0); + } + TimeBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + TimeBuilder &operator=(const TimeBuilder &); + flatbuffers::Offset<Time> Finish() { + const auto end = fbb_.EndTable(start_, 1); + auto o = flatbuffers::Offset<Time>(end); + return o; + } +}; + +inline flatbuffers::Offset<Time> CreateTime( + flatbuffers::FlatBufferBuilder &_fbb, + double Value = 0.0) { + TimeBuilder builder_(_fbb); + builder_.add_Value(Value); + return builder_.Finish(); +} + +struct FmuFile FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + enum { + VT_INSTANCENAME = 4, + VT_BINARYSIZE = 6 + }; + const flatbuffers::String *InstanceName() const { + return GetPointer<const flatbuffers::String *>(VT_INSTANCENAME); + } + int32_t BinarySize() const { + return GetField<int32_t>(VT_BINARYSIZE, 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_INSTANCENAME) && + verifier.Verify(InstanceName()) && + VerifyField<int32_t>(verifier, VT_BINARYSIZE) && + verifier.EndTable(); + } +}; + +struct FmuFileBuilder { + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_InstanceName(flatbuffers::Offset<flatbuffers::String> InstanceName) { + fbb_.AddOffset(FmuFile::VT_INSTANCENAME, InstanceName); + } + void add_BinarySize(int32_t BinarySize) { + fbb_.AddElement<int32_t>(FmuFile::VT_BINARYSIZE, BinarySize, 0); + } + FmuFileBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + FmuFileBuilder &operator=(const FmuFileBuilder &); + flatbuffers::Offset<FmuFile> Finish() { + const auto end = fbb_.EndTable(start_, 2); + auto o = flatbuffers::Offset<FmuFile>(end); + return o; + } +}; + +inline flatbuffers::Offset<FmuFile> CreateFmuFile( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset<flatbuffers::String> InstanceName = 0, + int32_t BinarySize = 0) { + FmuFileBuilder builder_(_fbb); + builder_.add_BinarySize(BinarySize); + builder_.add_InstanceName(InstanceName); + return builder_.Finish(); +} + +inline flatbuffers::Offset<FmuFile> CreateFmuFileDirect( + flatbuffers::FlatBufferBuilder &_fbb, + const char *InstanceName = nullptr, + int32_t BinarySize = 0) { + return Network::Protocol::CreateFmuFile( + _fbb, + InstanceName ? _fbb.CreateString(InstanceName) : 0, + BinarySize); +} + +struct ValueRefs FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + enum { + VT_INSTANCENAME = 4, + VT_INTVRS = 6, + VT_REALVRS = 8, + VT_BOOLVRS = 10, + VT_STRINGVRS = 12 + }; + const flatbuffers::String *InstanceName() const { + return GetPointer<const flatbuffers::String *>(VT_INSTANCENAME); + } + const flatbuffers::Vector<uint32_t> *IntVrs() const { + return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_INTVRS); + } + const flatbuffers::Vector<uint32_t> *RealVrs() const { + return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_REALVRS); + } + const flatbuffers::Vector<uint32_t> *BoolVrs() const { + return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_BOOLVRS); + } + const flatbuffers::Vector<uint32_t> *StringVrs() const { + return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_STRINGVRS); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_INSTANCENAME) && + verifier.Verify(InstanceName()) && + VerifyOffset(verifier, VT_INTVRS) && + verifier.Verify(IntVrs()) && + VerifyOffset(verifier, VT_REALVRS) && + verifier.Verify(RealVrs()) && + VerifyOffset(verifier, VT_BOOLVRS) && + verifier.Verify(BoolVrs()) && + VerifyOffset(verifier, VT_STRINGVRS) && + verifier.Verify(StringVrs()) && + verifier.EndTable(); + } +}; + +struct ValueRefsBuilder { + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_InstanceName(flatbuffers::Offset<flatbuffers::String> InstanceName) { + fbb_.AddOffset(ValueRefs::VT_INSTANCENAME, InstanceName); + } + void add_IntVrs(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> IntVrs) { + fbb_.AddOffset(ValueRefs::VT_INTVRS, IntVrs); + } + void add_RealVrs(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> RealVrs) { + fbb_.AddOffset(ValueRefs::VT_REALVRS, RealVrs); + } + void add_BoolVrs(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> BoolVrs) { + fbb_.AddOffset(ValueRefs::VT_BOOLVRS, BoolVrs); + } + void add_StringVrs(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> StringVrs) { + fbb_.AddOffset(ValueRefs::VT_STRINGVRS, StringVrs); + } + ValueRefsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ValueRefsBuilder &operator=(const ValueRefsBuilder &); + flatbuffers::Offset<ValueRefs> Finish() { + const auto end = fbb_.EndTable(start_, 5); + auto o = flatbuffers::Offset<ValueRefs>(end); + return o; + } +}; + +inline flatbuffers::Offset<ValueRefs> CreateValueRefs( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset<flatbuffers::String> InstanceName = 0, + flatbuffers::Offset<flatbuffers::Vector<uint32_t>> IntVrs = 0, + flatbuffers::Offset<flatbuffers::Vector<uint32_t>> RealVrs = 0, + flatbuffers::Offset<flatbuffers::Vector<uint32_t>> BoolVrs = 0, + flatbuffers::Offset<flatbuffers::Vector<uint32_t>> StringVrs = 0) { + ValueRefsBuilder builder_(_fbb); + builder_.add_StringVrs(StringVrs); + builder_.add_BoolVrs(BoolVrs); + builder_.add_RealVrs(RealVrs); + builder_.add_IntVrs(IntVrs); + builder_.add_InstanceName(InstanceName); + return builder_.Finish(); +} + +inline flatbuffers::Offset<ValueRefs> CreateValueRefsDirect( + flatbuffers::FlatBufferBuilder &_fbb, + const char *InstanceName = nullptr, + const std::vector<uint32_t> *IntVrs = nullptr, + const std::vector<uint32_t> *RealVrs = nullptr, + const std::vector<uint32_t> *BoolVrs = nullptr, + const std::vector<uint32_t> *StringVrs = nullptr) { + return Network::Protocol::CreateValueRefs( + _fbb, + InstanceName ? _fbb.CreateString(InstanceName) : 0, + IntVrs ? _fbb.CreateVector<uint32_t>(*IntVrs) : 0, + RealVrs ? _fbb.CreateVector<uint32_t>(*RealVrs) : 0, + BoolVrs ? _fbb.CreateVector<uint32_t>(*BoolVrs) : 0, + StringVrs ? _fbb.CreateVector<uint32_t>(*StringVrs) : 0); +} + +struct ChannelLink FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + enum { + VT_MASTERINSTANCENAME = 4, + VT_SLAVEINSTANCENAME = 6, + VT_MASTERVR = 8, + VT_SLAVEVR = 10, + VT_FACTOR = 12, + VT_SHIFT = 14 + }; + const flatbuffers::String *MasterInstanceName() const { + return GetPointer<const flatbuffers::String *>(VT_MASTERINSTANCENAME); + } + const flatbuffers::String *SlaveInstanceName() const { + return GetPointer<const flatbuffers::String *>(VT_SLAVEINSTANCENAME); + } + uint32_t MasterVr() const { + return GetField<uint32_t>(VT_MASTERVR, 0); + } + uint32_t SlaveVr() const { + return GetField<uint32_t>(VT_SLAVEVR, 0); + } + double Factor() const { + return GetField<double>(VT_FACTOR, 0.0); + } + double Shift() const { + return GetField<double>(VT_SHIFT, 0.0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_MASTERINSTANCENAME) && + verifier.Verify(MasterInstanceName()) && + VerifyOffset(verifier, VT_SLAVEINSTANCENAME) && + verifier.Verify(SlaveInstanceName()) && + VerifyField<uint32_t>(verifier, VT_MASTERVR) && + VerifyField<uint32_t>(verifier, VT_SLAVEVR) && + VerifyField<double>(verifier, VT_FACTOR) && + VerifyField<double>(verifier, VT_SHIFT) && + verifier.EndTable(); + } +}; + +struct ChannelLinkBuilder { + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_MasterInstanceName(flatbuffers::Offset<flatbuffers::String> MasterInstanceName) { + fbb_.AddOffset(ChannelLink::VT_MASTERINSTANCENAME, MasterInstanceName); + } + void add_SlaveInstanceName(flatbuffers::Offset<flatbuffers::String> SlaveInstanceName) { + fbb_.AddOffset(ChannelLink::VT_SLAVEINSTANCENAME, SlaveInstanceName); + } + void add_MasterVr(uint32_t MasterVr) { + fbb_.AddElement<uint32_t>(ChannelLink::VT_MASTERVR, MasterVr, 0); + } + void add_SlaveVr(uint32_t SlaveVr) { + fbb_.AddElement<uint32_t>(ChannelLink::VT_SLAVEVR, SlaveVr, 0); + } + void add_Factor(double Factor) { + fbb_.AddElement<double>(ChannelLink::VT_FACTOR, Factor, 0.0); + } + void add_Shift(double Shift) { + fbb_.AddElement<double>(ChannelLink::VT_SHIFT, Shift, 0.0); + } + ChannelLinkBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + ChannelLinkBuilder &operator=(const ChannelLinkBuilder &); + flatbuffers::Offset<ChannelLink> Finish() { + const auto end = fbb_.EndTable(start_, 6); + auto o = flatbuffers::Offset<ChannelLink>(end); + return o; + } +}; + +inline flatbuffers::Offset<ChannelLink> CreateChannelLink( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset<flatbuffers::String> MasterInstanceName = 0, + flatbuffers::Offset<flatbuffers::String> SlaveInstanceName = 0, + uint32_t MasterVr = 0, + uint32_t SlaveVr = 0, + double Factor = 0.0, + double Shift = 0.0) { + ChannelLinkBuilder builder_(_fbb); + builder_.add_Shift(Shift); + builder_.add_Factor(Factor); + builder_.add_SlaveVr(SlaveVr); + builder_.add_MasterVr(MasterVr); + builder_.add_SlaveInstanceName(SlaveInstanceName); + builder_.add_MasterInstanceName(MasterInstanceName); + return builder_.Finish(); +} + +inline flatbuffers::Offset<ChannelLink> CreateChannelLinkDirect( + flatbuffers::FlatBufferBuilder &_fbb, + const char *MasterInstanceName = nullptr, + const char *SlaveInstanceName = nullptr, + uint32_t MasterVr = 0, + uint32_t SlaveVr = 0, + double Factor = 0.0, + double Shift = 0.0) { + return Network::Protocol::CreateChannelLink( + _fbb, + MasterInstanceName ? _fbb.CreateString(MasterInstanceName) : 0, + SlaveInstanceName ? _fbb.CreateString(SlaveInstanceName) : 0, + MasterVr, + SlaveVr, + Factor, + Shift); +} + +struct IntValues FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + enum { + VT_INSTANCENAME = 4, + VT_TIMESTAMP = 6, + VT_VALUEREFS = 8, + VT_VALUES = 10 + }; + const flatbuffers::String *InstanceName() const { + return GetPointer<const flatbuffers::String *>(VT_INSTANCENAME); + } + double Timestamp() const { + return GetField<double>(VT_TIMESTAMP, 0.0); + } + const flatbuffers::Vector<uint32_t> *ValueRefs() const { + return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_VALUEREFS); + } + const flatbuffers::Vector<int32_t> *Values() const { + return GetPointer<const flatbuffers::Vector<int32_t> *>(VT_VALUES); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_INSTANCENAME) && + verifier.Verify(InstanceName()) && + VerifyField<double>(verifier, VT_TIMESTAMP) && + VerifyOffset(verifier, VT_VALUEREFS) && + verifier.Verify(ValueRefs()) && + VerifyOffset(verifier, VT_VALUES) && + verifier.Verify(Values()) && + verifier.EndTable(); + } +}; + +struct IntValuesBuilder { + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_InstanceName(flatbuffers::Offset<flatbuffers::String> InstanceName) { + fbb_.AddOffset(IntValues::VT_INSTANCENAME, InstanceName); + } + void add_Timestamp(double Timestamp) { + fbb_.AddElement<double>(IntValues::VT_TIMESTAMP, Timestamp, 0.0); + } + void add_ValueRefs(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> ValueRefs) { + fbb_.AddOffset(IntValues::VT_VALUEREFS, ValueRefs); + } + void add_Values(flatbuffers::Offset<flatbuffers::Vector<int32_t>> Values) { + fbb_.AddOffset(IntValues::VT_VALUES, Values); + } + IntValuesBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + IntValuesBuilder &operator=(const IntValuesBuilder &); + flatbuffers::Offset<IntValues> Finish() { + const auto end = fbb_.EndTable(start_, 4); + auto o = flatbuffers::Offset<IntValues>(end); + return o; + } +}; + +inline flatbuffers::Offset<IntValues> CreateIntValues( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset<flatbuffers::String> InstanceName = 0, + double Timestamp = 0.0, + flatbuffers::Offset<flatbuffers::Vector<uint32_t>> ValueRefs = 0, + flatbuffers::Offset<flatbuffers::Vector<int32_t>> Values = 0) { + IntValuesBuilder builder_(_fbb); + builder_.add_Timestamp(Timestamp); + builder_.add_Values(Values); + builder_.add_ValueRefs(ValueRefs); + builder_.add_InstanceName(InstanceName); + return builder_.Finish(); +} + +inline flatbuffers::Offset<IntValues> CreateIntValuesDirect( + flatbuffers::FlatBufferBuilder &_fbb, + const char *InstanceName = nullptr, + double Timestamp = 0.0, + const std::vector<uint32_t> *ValueRefs = nullptr, + const std::vector<int32_t> *Values = nullptr) { + return Network::Protocol::CreateIntValues( + _fbb, + InstanceName ? _fbb.CreateString(InstanceName) : 0, + Timestamp, + ValueRefs ? _fbb.CreateVector<uint32_t>(*ValueRefs) : 0, + Values ? _fbb.CreateVector<int32_t>(*Values) : 0); +} + +struct RealValues FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + enum { + VT_INSTANCENAME = 4, + VT_TIMESTAMP = 6, + VT_VALUEREFS = 8, + VT_VALUES = 10 + }; + const flatbuffers::String *InstanceName() const { + return GetPointer<const flatbuffers::String *>(VT_INSTANCENAME); + } + double Timestamp() const { + return GetField<double>(VT_TIMESTAMP, 0.0); + } + const flatbuffers::Vector<uint32_t> *ValueRefs() const { + return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_VALUEREFS); + } + const flatbuffers::Vector<double> *Values() const { + return GetPointer<const flatbuffers::Vector<double> *>(VT_VALUES); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_INSTANCENAME) && + verifier.Verify(InstanceName()) && + VerifyField<double>(verifier, VT_TIMESTAMP) && + VerifyOffset(verifier, VT_VALUEREFS) && + verifier.Verify(ValueRefs()) && + VerifyOffset(verifier, VT_VALUES) && + verifier.Verify(Values()) && + verifier.EndTable(); + } +}; + +struct RealValuesBuilder { + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_InstanceName(flatbuffers::Offset<flatbuffers::String> InstanceName) { + fbb_.AddOffset(RealValues::VT_INSTANCENAME, InstanceName); + } + void add_Timestamp(double Timestamp) { + fbb_.AddElement<double>(RealValues::VT_TIMESTAMP, Timestamp, 0.0); + } + void add_ValueRefs(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> ValueRefs) { + fbb_.AddOffset(RealValues::VT_VALUEREFS, ValueRefs); + } + void add_Values(flatbuffers::Offset<flatbuffers::Vector<double>> Values) { + fbb_.AddOffset(RealValues::VT_VALUES, Values); + } + RealValuesBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + RealValuesBuilder &operator=(const RealValuesBuilder &); + flatbuffers::Offset<RealValues> Finish() { + const auto end = fbb_.EndTable(start_, 4); + auto o = flatbuffers::Offset<RealValues>(end); + return o; + } +}; + +inline flatbuffers::Offset<RealValues> CreateRealValues( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset<flatbuffers::String> InstanceName = 0, + double Timestamp = 0.0, + flatbuffers::Offset<flatbuffers::Vector<uint32_t>> ValueRefs = 0, + flatbuffers::Offset<flatbuffers::Vector<double>> Values = 0) { + RealValuesBuilder builder_(_fbb); + builder_.add_Timestamp(Timestamp); + builder_.add_Values(Values); + builder_.add_ValueRefs(ValueRefs); + builder_.add_InstanceName(InstanceName); + return builder_.Finish(); +} + +inline flatbuffers::Offset<RealValues> CreateRealValuesDirect( + flatbuffers::FlatBufferBuilder &_fbb, + const char *InstanceName = nullptr, + double Timestamp = 0.0, + const std::vector<uint32_t> *ValueRefs = nullptr, + const std::vector<double> *Values = nullptr) { + return Network::Protocol::CreateRealValues( + _fbb, + InstanceName ? _fbb.CreateString(InstanceName) : 0, + Timestamp, + ValueRefs ? _fbb.CreateVector<uint32_t>(*ValueRefs) : 0, + Values ? _fbb.CreateVector<double>(*Values) : 0); +} + +struct BoolValues FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + enum { + VT_INSTANCENAME = 4, + VT_TIMESTAMP = 6, + VT_VALUEREFS = 8, + VT_VALUES = 10 + }; + const flatbuffers::String *InstanceName() const { + return GetPointer<const flatbuffers::String *>(VT_INSTANCENAME); + } + double Timestamp() const { + return GetField<double>(VT_TIMESTAMP, 0.0); + } + const flatbuffers::Vector<uint32_t> *ValueRefs() const { + return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_VALUEREFS); + } + const flatbuffers::Vector<int32_t> *Values() const { + return GetPointer<const flatbuffers::Vector<int32_t> *>(VT_VALUES); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_INSTANCENAME) && + verifier.Verify(InstanceName()) && + VerifyField<double>(verifier, VT_TIMESTAMP) && + VerifyOffset(verifier, VT_VALUEREFS) && + verifier.Verify(ValueRefs()) && + VerifyOffset(verifier, VT_VALUES) && + verifier.Verify(Values()) && + verifier.EndTable(); + } +}; + +struct BoolValuesBuilder { + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_InstanceName(flatbuffers::Offset<flatbuffers::String> InstanceName) { + fbb_.AddOffset(BoolValues::VT_INSTANCENAME, InstanceName); + } + void add_Timestamp(double Timestamp) { + fbb_.AddElement<double>(BoolValues::VT_TIMESTAMP, Timestamp, 0.0); + } + void add_ValueRefs(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> ValueRefs) { + fbb_.AddOffset(BoolValues::VT_VALUEREFS, ValueRefs); + } + void add_Values(flatbuffers::Offset<flatbuffers::Vector<int32_t>> Values) { + fbb_.AddOffset(BoolValues::VT_VALUES, Values); + } + BoolValuesBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + BoolValuesBuilder &operator=(const BoolValuesBuilder &); + flatbuffers::Offset<BoolValues> Finish() { + const auto end = fbb_.EndTable(start_, 4); + auto o = flatbuffers::Offset<BoolValues>(end); + return o; + } +}; + +inline flatbuffers::Offset<BoolValues> CreateBoolValues( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset<flatbuffers::String> InstanceName = 0, + double Timestamp = 0.0, + flatbuffers::Offset<flatbuffers::Vector<uint32_t>> ValueRefs = 0, + flatbuffers::Offset<flatbuffers::Vector<int32_t>> Values = 0) { + BoolValuesBuilder builder_(_fbb); + builder_.add_Timestamp(Timestamp); + builder_.add_Values(Values); + builder_.add_ValueRefs(ValueRefs); + builder_.add_InstanceName(InstanceName); + return builder_.Finish(); +} + +inline flatbuffers::Offset<BoolValues> CreateBoolValuesDirect( + flatbuffers::FlatBufferBuilder &_fbb, + const char *InstanceName = nullptr, + double Timestamp = 0.0, + const std::vector<uint32_t> *ValueRefs = nullptr, + const std::vector<int32_t> *Values = nullptr) { + return Network::Protocol::CreateBoolValues( + _fbb, + InstanceName ? _fbb.CreateString(InstanceName) : 0, + Timestamp, + ValueRefs ? _fbb.CreateVector<uint32_t>(*ValueRefs) : 0, + Values ? _fbb.CreateVector<int32_t>(*Values) : 0); +} + +struct StringValues FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + enum { + VT_INSTANCENAME = 4, + VT_TIMESTAMP = 6, + VT_VALUEREFS = 8, + VT_VALUES = 10 + }; + const flatbuffers::String *InstanceName() const { + return GetPointer<const flatbuffers::String *>(VT_INSTANCENAME); + } + double Timestamp() const { + return GetField<double>(VT_TIMESTAMP, 0.0); + } + const flatbuffers::Vector<uint32_t> *ValueRefs() const { + return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_VALUEREFS); + } + const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *Values() const { + return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *>(VT_VALUES); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_INSTANCENAME) && + verifier.Verify(InstanceName()) && + VerifyField<double>(verifier, VT_TIMESTAMP) && + VerifyOffset(verifier, VT_VALUEREFS) && + verifier.Verify(ValueRefs()) && + VerifyOffset(verifier, VT_VALUES) && + verifier.Verify(Values()) && + verifier.VerifyVectorOfStrings(Values()) && + verifier.EndTable(); + } +}; + +struct StringValuesBuilder { + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_InstanceName(flatbuffers::Offset<flatbuffers::String> InstanceName) { + fbb_.AddOffset(StringValues::VT_INSTANCENAME, InstanceName); + } + void add_Timestamp(double Timestamp) { + fbb_.AddElement<double>(StringValues::VT_TIMESTAMP, Timestamp, 0.0); + } + void add_ValueRefs(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> ValueRefs) { + fbb_.AddOffset(StringValues::VT_VALUEREFS, ValueRefs); + } + void add_Values(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> Values) { + fbb_.AddOffset(StringValues::VT_VALUES, Values); + } + StringValuesBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + StringValuesBuilder &operator=(const StringValuesBuilder &); + flatbuffers::Offset<StringValues> Finish() { + const auto end = fbb_.EndTable(start_, 4); + auto o = flatbuffers::Offset<StringValues>(end); + return o; + } +}; + +inline flatbuffers::Offset<StringValues> CreateStringValues( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset<flatbuffers::String> InstanceName = 0, + double Timestamp = 0.0, + flatbuffers::Offset<flatbuffers::Vector<uint32_t>> ValueRefs = 0, + flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> Values = 0) { + StringValuesBuilder builder_(_fbb); + builder_.add_Timestamp(Timestamp); + builder_.add_Values(Values); + builder_.add_ValueRefs(ValueRefs); + builder_.add_InstanceName(InstanceName); + return builder_.Finish(); +} + +inline flatbuffers::Offset<StringValues> CreateStringValuesDirect( + flatbuffers::FlatBufferBuilder &_fbb, + const char *InstanceName = nullptr, + double Timestamp = 0.0, + const std::vector<uint32_t> *ValueRefs = nullptr, + const std::vector<flatbuffers::Offset<flatbuffers::String>> *Values = nullptr) { + return Network::Protocol::CreateStringValues( + _fbb, + InstanceName ? _fbb.CreateString(InstanceName) : 0, + Timestamp, + ValueRefs ? _fbb.CreateVector<uint32_t>(*ValueRefs) : 0, + Values ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*Values) : 0); +} + +struct Feedback FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + enum { + VT_RESULT = 4, + VT_MESSAGE = 6 + }; + int32_t Result() const { + return GetField<int32_t>(VT_RESULT, 0); + } + const flatbuffers::String *Message() const { + return GetPointer<const flatbuffers::String *>(VT_MESSAGE); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField<int32_t>(verifier, VT_RESULT) && + VerifyOffset(verifier, VT_MESSAGE) && + verifier.Verify(Message()) && + verifier.EndTable(); + } +}; + +struct FeedbackBuilder { + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_Result(int32_t Result) { + fbb_.AddElement<int32_t>(Feedback::VT_RESULT, Result, 0); + } + void add_Message(flatbuffers::Offset<flatbuffers::String> Message) { + fbb_.AddOffset(Feedback::VT_MESSAGE, Message); + } + FeedbackBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + FeedbackBuilder &operator=(const FeedbackBuilder &); + flatbuffers::Offset<Feedback> Finish() { + const auto end = fbb_.EndTable(start_, 2); + auto o = flatbuffers::Offset<Feedback>(end); + return o; + } +}; + +inline flatbuffers::Offset<Feedback> CreateFeedback( + flatbuffers::FlatBufferBuilder &_fbb, + int32_t Result = 0, + flatbuffers::Offset<flatbuffers::String> Message = 0) { + FeedbackBuilder builder_(_fbb); + builder_.add_Message(Message); + builder_.add_Result(Result); + return builder_.Finish(); +} + +inline flatbuffers::Offset<Feedback> CreateFeedbackDirect( + flatbuffers::FlatBufferBuilder &_fbb, + int32_t Result = 0, + const char *Message = nullptr) { + return Network::Protocol::CreateFeedback( + _fbb, + Result, + Message ? _fbb.CreateString(Message) : 0); +} + +struct Log FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + enum { + VT_INSTANCENAME = 4, + VT_MESSAGE = 6 + }; + const flatbuffers::String *InstanceName() const { + return GetPointer<const flatbuffers::String *>(VT_INSTANCENAME); + } + const flatbuffers::String *Message() const { + return GetPointer<const flatbuffers::String *>(VT_MESSAGE); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_INSTANCENAME) && + verifier.Verify(InstanceName()) && + VerifyOffset(verifier, VT_MESSAGE) && + verifier.Verify(Message()) && + verifier.EndTable(); + } +}; + +struct LogBuilder { + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_InstanceName(flatbuffers::Offset<flatbuffers::String> InstanceName) { + fbb_.AddOffset(Log::VT_INSTANCENAME, InstanceName); + } + void add_Message(flatbuffers::Offset<flatbuffers::String> Message) { + fbb_.AddOffset(Log::VT_MESSAGE, Message); + } + LogBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + LogBuilder &operator=(const LogBuilder &); + flatbuffers::Offset<Log> Finish() { + const auto end = fbb_.EndTable(start_, 2); + auto o = flatbuffers::Offset<Log>(end); + return o; + } +}; + +inline flatbuffers::Offset<Log> CreateLog( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset<flatbuffers::String> InstanceName = 0, + flatbuffers::Offset<flatbuffers::String> Message = 0) { + LogBuilder builder_(_fbb); + builder_.add_Message(Message); + builder_.add_InstanceName(InstanceName); + return builder_.Finish(); +} + +inline flatbuffers::Offset<Log> CreateLogDirect( + flatbuffers::FlatBufferBuilder &_fbb, + const char *InstanceName = nullptr, + const char *Message = nullptr) { + return Network::Protocol::CreateLog( + _fbb, + InstanceName ? _fbb.CreateString(InstanceName) : 0, + Message ? _fbb.CreateString(Message) : 0); +} + +inline bool VerifyDataUnion(flatbuffers::Verifier &verifier, const void *obj, DataUnion type) { + switch (type) { + case DataUnion_NONE: { + return true; + } + case DataUnion_Time: { + auto ptr = reinterpret_cast<const Time *>(obj); + return verifier.VerifyTable(ptr); + } + case DataUnion_FmuFile: { + auto ptr = reinterpret_cast<const FmuFile *>(obj); + return verifier.VerifyTable(ptr); + } + case DataUnion_ValueRefs: { + auto ptr = reinterpret_cast<const ValueRefs *>(obj); + return verifier.VerifyTable(ptr); + } + case DataUnion_ChannelLink: { + auto ptr = reinterpret_cast<const ChannelLink *>(obj); + return verifier.VerifyTable(ptr); + } + case DataUnion_IntValues: { + auto ptr = reinterpret_cast<const IntValues *>(obj); + return verifier.VerifyTable(ptr); + } + case DataUnion_RealValues: { + auto ptr = reinterpret_cast<const RealValues *>(obj); + return verifier.VerifyTable(ptr); + } + case DataUnion_BoolValues: { + auto ptr = reinterpret_cast<const BoolValues *>(obj); + return verifier.VerifyTable(ptr); + } + case DataUnion_StringValues: { + auto ptr = reinterpret_cast<const StringValues *>(obj); + return verifier.VerifyTable(ptr); + } + case DataUnion_Feedback: { + auto ptr = reinterpret_cast<const Feedback *>(obj); + return verifier.VerifyTable(ptr); + } + case DataUnion_Log: { + auto ptr = reinterpret_cast<const Log *>(obj); + return verifier.VerifyTable(ptr); + } + default: return false; + } +} + +inline bool VerifyDataUnionVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector<flatbuffers::Offset<void>> *values, const flatbuffers::Vector<uint8_t> *types) { + if (values->size() != types->size()) return false; + for (flatbuffers::uoffset_t i = 0; i < values->size(); ++i) { + if (!VerifyDataUnion( + verifier, values->Get(i), types->GetEnum<DataUnion>(i))) { + return false; + } + } + return true; +} + +inline const Network::Protocol::ModeliMessage *GetModeliMessage(const void *buf) { + return flatbuffers::GetRoot<Network::Protocol::ModeliMessage>(buf); +} + +inline bool VerifyModeliMessageBuffer( + flatbuffers::Verifier &verifier) { + return verifier.VerifyBuffer<Network::Protocol::ModeliMessage>(nullptr); +} + +inline void FinishModeliMessageBuffer( + flatbuffers::FlatBufferBuilder &fbb, + flatbuffers::Offset<Network::Protocol::ModeliMessage> root) { + fbb.Finish(root); +} + +} // namespace Protocol +} // namespace Network + +#endif // FLATBUFFERS_GENERATED_MODELIPROTOCOL_NETWORK_PROTOCOL_H_ diff --git a/Network/Protocol/BoolValues.cs b/Network/Protocol/BoolValues.cs new file mode 100644 index 0000000000000000000000000000000000000000..ee9fb2dc130e9e531e53ce798245957824c9e3c0 --- /dev/null +++ b/Network/Protocol/BoolValues.cs @@ -0,0 +1,59 @@ +// <auto-generated> +// automatically generated by the FlatBuffers compiler, do not modify +// </auto-generated> + +namespace Network.Protocol +{ + +using global::System; +using global::FlatBuffers; + +public struct BoolValues : IFlatbufferObject +{ + private Table __p; + public ByteBuffer ByteBuffer { get { return __p.bb; } } + public static BoolValues GetRootAsBoolValues(ByteBuffer _bb) { return GetRootAsBoolValues(_bb, new BoolValues()); } + public static BoolValues GetRootAsBoolValues(ByteBuffer _bb, BoolValues obj) { return (obj.__assign(_bb.GetInt(_bb.Position) + _bb.Position, _bb)); } + public void __init(int _i, ByteBuffer _bb) { __p.bb_pos = _i; __p.bb = _bb; } + public BoolValues __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); return this; } + + public string InstanceName { get { int o = __p.__offset(4); return o != 0 ? __p.__string(o + __p.bb_pos) : null; } } + public ArraySegment<byte>? GetInstanceNameBytes() { return __p.__vector_as_arraysegment(4); } + public double Timestamp { get { int o = __p.__offset(6); return o != 0 ? __p.bb.GetDouble(o + __p.bb_pos) : (double)0.0; } } + public uint ValueRefs(int j) { int o = __p.__offset(8); return o != 0 ? __p.bb.GetUint(__p.__vector(o) + j * 4) : (uint)0; } + public int ValueRefsLength { get { int o = __p.__offset(8); return o != 0 ? __p.__vector_len(o) : 0; } } + public ArraySegment<byte>? GetValueRefsBytes() { return __p.__vector_as_arraysegment(8); } + public int Values(int j) { int o = __p.__offset(10); return o != 0 ? __p.bb.GetInt(__p.__vector(o) + j * 4) : (int)0; } + public int ValuesLength { get { int o = __p.__offset(10); return o != 0 ? __p.__vector_len(o) : 0; } } + public ArraySegment<byte>? GetValuesBytes() { return __p.__vector_as_arraysegment(10); } + + public static Offset<BoolValues> CreateBoolValues(FlatBufferBuilder builder, + StringOffset InstanceNameOffset = default(StringOffset), + double Timestamp = 0.0, + VectorOffset ValueRefsOffset = default(VectorOffset), + VectorOffset ValuesOffset = default(VectorOffset)) { + builder.StartObject(4); + BoolValues.AddTimestamp(builder, Timestamp); + BoolValues.AddValues(builder, ValuesOffset); + BoolValues.AddValueRefs(builder, ValueRefsOffset); + BoolValues.AddInstanceName(builder, InstanceNameOffset); + return BoolValues.EndBoolValues(builder); + } + + public static void StartBoolValues(FlatBufferBuilder builder) { builder.StartObject(4); } + public static void AddInstanceName(FlatBufferBuilder builder, StringOffset InstanceNameOffset) { builder.AddOffset(0, InstanceNameOffset.Value, 0); } + public static void AddTimestamp(FlatBufferBuilder builder, double Timestamp) { builder.AddDouble(1, Timestamp, 0.0); } + public static void AddValueRefs(FlatBufferBuilder builder, VectorOffset ValueRefsOffset) { builder.AddOffset(2, ValueRefsOffset.Value, 0); } + public static VectorOffset CreateValueRefsVector(FlatBufferBuilder builder, uint[] data) { builder.StartVector(4, data.Length, 4); for (int i = data.Length - 1; i >= 0; i--) builder.AddUint(data[i]); return builder.EndVector(); } + public static void StartValueRefsVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(4, numElems, 4); } + public static void AddValues(FlatBufferBuilder builder, VectorOffset ValuesOffset) { builder.AddOffset(3, ValuesOffset.Value, 0); } + public static VectorOffset CreateValuesVector(FlatBufferBuilder builder, int[] data) { builder.StartVector(4, data.Length, 4); for (int i = data.Length - 1; i >= 0; i--) builder.AddInt(data[i]); return builder.EndVector(); } + public static void StartValuesVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(4, numElems, 4); } + public static Offset<BoolValues> EndBoolValues(FlatBufferBuilder builder) { + int o = builder.EndObject(); + return new Offset<BoolValues>(o); + } +}; + + +} diff --git a/Network/Protocol/ChannelLink.cs b/Network/Protocol/ChannelLink.cs new file mode 100644 index 0000000000000000000000000000000000000000..227d238b5383926d600bd7c7c4199528863c5da4 --- /dev/null +++ b/Network/Protocol/ChannelLink.cs @@ -0,0 +1,60 @@ +// <auto-generated> +// automatically generated by the FlatBuffers compiler, do not modify +// </auto-generated> + +namespace Network.Protocol +{ + +using global::System; +using global::FlatBuffers; + +public struct ChannelLink : IFlatbufferObject +{ + private Table __p; + public ByteBuffer ByteBuffer { get { return __p.bb; } } + public static ChannelLink GetRootAsChannelLink(ByteBuffer _bb) { return GetRootAsChannelLink(_bb, new ChannelLink()); } + public static ChannelLink GetRootAsChannelLink(ByteBuffer _bb, ChannelLink obj) { return (obj.__assign(_bb.GetInt(_bb.Position) + _bb.Position, _bb)); } + public void __init(int _i, ByteBuffer _bb) { __p.bb_pos = _i; __p.bb = _bb; } + public ChannelLink __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); return this; } + + public string MasterInstanceName { get { int o = __p.__offset(4); return o != 0 ? __p.__string(o + __p.bb_pos) : null; } } + public ArraySegment<byte>? GetMasterInstanceNameBytes() { return __p.__vector_as_arraysegment(4); } + public string SlaveInstanceName { get { int o = __p.__offset(6); return o != 0 ? __p.__string(o + __p.bb_pos) : null; } } + public ArraySegment<byte>? GetSlaveInstanceNameBytes() { return __p.__vector_as_arraysegment(6); } + public uint MasterVr { get { int o = __p.__offset(8); return o != 0 ? __p.bb.GetUint(o + __p.bb_pos) : (uint)0; } } + public uint SlaveVr { get { int o = __p.__offset(10); return o != 0 ? __p.bb.GetUint(o + __p.bb_pos) : (uint)0; } } + public double Factor { get { int o = __p.__offset(12); return o != 0 ? __p.bb.GetDouble(o + __p.bb_pos) : (double)0.0; } } + public double Shift { get { int o = __p.__offset(14); return o != 0 ? __p.bb.GetDouble(o + __p.bb_pos) : (double)0.0; } } + + public static Offset<ChannelLink> CreateChannelLink(FlatBufferBuilder builder, + StringOffset MasterInstanceNameOffset = default(StringOffset), + StringOffset SlaveInstanceNameOffset = default(StringOffset), + uint MasterVr = 0, + uint SlaveVr = 0, + double Factor = 0.0, + double Shift = 0.0) { + builder.StartObject(6); + ChannelLink.AddShift(builder, Shift); + ChannelLink.AddFactor(builder, Factor); + ChannelLink.AddSlaveVr(builder, SlaveVr); + ChannelLink.AddMasterVr(builder, MasterVr); + ChannelLink.AddSlaveInstanceName(builder, SlaveInstanceNameOffset); + ChannelLink.AddMasterInstanceName(builder, MasterInstanceNameOffset); + return ChannelLink.EndChannelLink(builder); + } + + public static void StartChannelLink(FlatBufferBuilder builder) { builder.StartObject(6); } + public static void AddMasterInstanceName(FlatBufferBuilder builder, StringOffset MasterInstanceNameOffset) { builder.AddOffset(0, MasterInstanceNameOffset.Value, 0); } + public static void AddSlaveInstanceName(FlatBufferBuilder builder, StringOffset SlaveInstanceNameOffset) { builder.AddOffset(1, SlaveInstanceNameOffset.Value, 0); } + public static void AddMasterVr(FlatBufferBuilder builder, uint MasterVr) { builder.AddUint(2, MasterVr, 0); } + public static void AddSlaveVr(FlatBufferBuilder builder, uint SlaveVr) { builder.AddUint(3, SlaveVr, 0); } + public static void AddFactor(FlatBufferBuilder builder, double Factor) { builder.AddDouble(4, Factor, 0.0); } + public static void AddShift(FlatBufferBuilder builder, double Shift) { builder.AddDouble(5, Shift, 0.0); } + public static Offset<ChannelLink> EndChannelLink(FlatBufferBuilder builder) { + int o = builder.EndObject(); + return new Offset<ChannelLink>(o); + } +}; + + +} diff --git a/Network/Protocol/CommandEnum.cs b/Network/Protocol/CommandEnum.cs new file mode 100644 index 0000000000000000000000000000000000000000..a54eb841d63ae9786ee0df0fcca7b65123ac7643 --- /dev/null +++ b/Network/Protocol/CommandEnum.cs @@ -0,0 +1,29 @@ +// <auto-generated> +// automatically generated by the FlatBuffers compiler, do not modify +// </auto-generated> + +namespace Network.Protocol +{ + +public enum CommandEnum : int +{ + KeepAlive = 0, + Play = 1, + PlayFast = 2, + Pause = 3, + Stop = 4, + AddFmu = 5, + RemoveFmu = 6, + ValueRefs = 7, + AddChannelLinks = 8, + RemoveChannelLinks = 9, + Feedback = 10, + IntValues = 11, + RealValues = 12, + BoolValues = 13, + StringValues = 14, + Log = 15, +}; + + +} diff --git a/Network/Protocol/DataUnion.cs b/Network/Protocol/DataUnion.cs new file mode 100644 index 0000000000000000000000000000000000000000..9b0ecd2dca59f53343c82c698b8408cfb06a1d71 --- /dev/null +++ b/Network/Protocol/DataUnion.cs @@ -0,0 +1,24 @@ +// <auto-generated> +// automatically generated by the FlatBuffers compiler, do not modify +// </auto-generated> + +namespace Network.Protocol +{ + +public enum DataUnion : byte +{ + NONE = 0, + Time = 1, + FmuFile = 2, + ValueRefs = 3, + ChannelLink = 4, + IntValues = 5, + RealValues = 6, + BoolValues = 7, + StringValues = 8, + Feedback = 9, + Log = 10, +}; + + +} diff --git a/Network/Protocol/Feedback.cs b/Network/Protocol/Feedback.cs new file mode 100644 index 0000000000000000000000000000000000000000..3bd3aeff0c4752b78c00e9bf7290350f4eff4166 --- /dev/null +++ b/Network/Protocol/Feedback.cs @@ -0,0 +1,43 @@ +// <auto-generated> +// automatically generated by the FlatBuffers compiler, do not modify +// </auto-generated> + +namespace Network.Protocol +{ + +using global::System; +using global::FlatBuffers; + +public struct Feedback : IFlatbufferObject +{ + private Table __p; + public ByteBuffer ByteBuffer { get { return __p.bb; } } + public static Feedback GetRootAsFeedback(ByteBuffer _bb) { return GetRootAsFeedback(_bb, new Feedback()); } + public static Feedback GetRootAsFeedback(ByteBuffer _bb, Feedback obj) { return (obj.__assign(_bb.GetInt(_bb.Position) + _bb.Position, _bb)); } + public void __init(int _i, ByteBuffer _bb) { __p.bb_pos = _i; __p.bb = _bb; } + public Feedback __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); return this; } + + public int Result { get { int o = __p.__offset(4); return o != 0 ? __p.bb.GetInt(o + __p.bb_pos) : (int)0; } } + public string Message { get { int o = __p.__offset(6); return o != 0 ? __p.__string(o + __p.bb_pos) : null; } } + public ArraySegment<byte>? GetMessageBytes() { return __p.__vector_as_arraysegment(6); } + + public static Offset<Feedback> CreateFeedback(FlatBufferBuilder builder, + int Result = 0, + StringOffset MessageOffset = default(StringOffset)) { + builder.StartObject(2); + Feedback.AddMessage(builder, MessageOffset); + Feedback.AddResult(builder, Result); + return Feedback.EndFeedback(builder); + } + + public static void StartFeedback(FlatBufferBuilder builder) { builder.StartObject(2); } + public static void AddResult(FlatBufferBuilder builder, int Result) { builder.AddInt(0, Result, 0); } + public static void AddMessage(FlatBufferBuilder builder, StringOffset MessageOffset) { builder.AddOffset(1, MessageOffset.Value, 0); } + public static Offset<Feedback> EndFeedback(FlatBufferBuilder builder) { + int o = builder.EndObject(); + return new Offset<Feedback>(o); + } +}; + + +} diff --git a/Network/Protocol/FmuFile.cs b/Network/Protocol/FmuFile.cs new file mode 100644 index 0000000000000000000000000000000000000000..b1db1a3be637e8a30b0954e16b46718a2becb9ae --- /dev/null +++ b/Network/Protocol/FmuFile.cs @@ -0,0 +1,43 @@ +// <auto-generated> +// automatically generated by the FlatBuffers compiler, do not modify +// </auto-generated> + +namespace Network.Protocol +{ + +using global::System; +using global::FlatBuffers; + +public struct FmuFile : IFlatbufferObject +{ + private Table __p; + public ByteBuffer ByteBuffer { get { return __p.bb; } } + public static FmuFile GetRootAsFmuFile(ByteBuffer _bb) { return GetRootAsFmuFile(_bb, new FmuFile()); } + public static FmuFile GetRootAsFmuFile(ByteBuffer _bb, FmuFile obj) { return (obj.__assign(_bb.GetInt(_bb.Position) + _bb.Position, _bb)); } + public void __init(int _i, ByteBuffer _bb) { __p.bb_pos = _i; __p.bb = _bb; } + public FmuFile __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); return this; } + + public string InstanceName { get { int o = __p.__offset(4); return o != 0 ? __p.__string(o + __p.bb_pos) : null; } } + public ArraySegment<byte>? GetInstanceNameBytes() { return __p.__vector_as_arraysegment(4); } + public int BinarySize { get { int o = __p.__offset(6); return o != 0 ? __p.bb.GetInt(o + __p.bb_pos) : (int)0; } } + + public static Offset<FmuFile> CreateFmuFile(FlatBufferBuilder builder, + StringOffset InstanceNameOffset = default(StringOffset), + int BinarySize = 0) { + builder.StartObject(2); + FmuFile.AddBinarySize(builder, BinarySize); + FmuFile.AddInstanceName(builder, InstanceNameOffset); + return FmuFile.EndFmuFile(builder); + } + + public static void StartFmuFile(FlatBufferBuilder builder) { builder.StartObject(2); } + public static void AddInstanceName(FlatBufferBuilder builder, StringOffset InstanceNameOffset) { builder.AddOffset(0, InstanceNameOffset.Value, 0); } + public static void AddBinarySize(FlatBufferBuilder builder, int BinarySize) { builder.AddInt(1, BinarySize, 0); } + public static Offset<FmuFile> EndFmuFile(FlatBufferBuilder builder) { + int o = builder.EndObject(); + return new Offset<FmuFile>(o); + } +}; + + +} diff --git a/Network/Protocol/IntValues.cs b/Network/Protocol/IntValues.cs new file mode 100644 index 0000000000000000000000000000000000000000..c63129c8473c9c1078e72b789f393427e0a0dbb9 --- /dev/null +++ b/Network/Protocol/IntValues.cs @@ -0,0 +1,59 @@ +// <auto-generated> +// automatically generated by the FlatBuffers compiler, do not modify +// </auto-generated> + +namespace Network.Protocol +{ + +using global::System; +using global::FlatBuffers; + +public struct IntValues : IFlatbufferObject +{ + private Table __p; + public ByteBuffer ByteBuffer { get { return __p.bb; } } + public static IntValues GetRootAsIntValues(ByteBuffer _bb) { return GetRootAsIntValues(_bb, new IntValues()); } + public static IntValues GetRootAsIntValues(ByteBuffer _bb, IntValues obj) { return (obj.__assign(_bb.GetInt(_bb.Position) + _bb.Position, _bb)); } + public void __init(int _i, ByteBuffer _bb) { __p.bb_pos = _i; __p.bb = _bb; } + public IntValues __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); return this; } + + public string InstanceName { get { int o = __p.__offset(4); return o != 0 ? __p.__string(o + __p.bb_pos) : null; } } + public ArraySegment<byte>? GetInstanceNameBytes() { return __p.__vector_as_arraysegment(4); } + public double Timestamp { get { int o = __p.__offset(6); return o != 0 ? __p.bb.GetDouble(o + __p.bb_pos) : (double)0.0; } } + public uint ValueRefs(int j) { int o = __p.__offset(8); return o != 0 ? __p.bb.GetUint(__p.__vector(o) + j * 4) : (uint)0; } + public int ValueRefsLength { get { int o = __p.__offset(8); return o != 0 ? __p.__vector_len(o) : 0; } } + public ArraySegment<byte>? GetValueRefsBytes() { return __p.__vector_as_arraysegment(8); } + public int Values(int j) { int o = __p.__offset(10); return o != 0 ? __p.bb.GetInt(__p.__vector(o) + j * 4) : (int)0; } + public int ValuesLength { get { int o = __p.__offset(10); return o != 0 ? __p.__vector_len(o) : 0; } } + public ArraySegment<byte>? GetValuesBytes() { return __p.__vector_as_arraysegment(10); } + + public static Offset<IntValues> CreateIntValues(FlatBufferBuilder builder, + StringOffset InstanceNameOffset = default(StringOffset), + double Timestamp = 0.0, + VectorOffset ValueRefsOffset = default(VectorOffset), + VectorOffset ValuesOffset = default(VectorOffset)) { + builder.StartObject(4); + IntValues.AddTimestamp(builder, Timestamp); + IntValues.AddValues(builder, ValuesOffset); + IntValues.AddValueRefs(builder, ValueRefsOffset); + IntValues.AddInstanceName(builder, InstanceNameOffset); + return IntValues.EndIntValues(builder); + } + + public static void StartIntValues(FlatBufferBuilder builder) { builder.StartObject(4); } + public static void AddInstanceName(FlatBufferBuilder builder, StringOffset InstanceNameOffset) { builder.AddOffset(0, InstanceNameOffset.Value, 0); } + public static void AddTimestamp(FlatBufferBuilder builder, double Timestamp) { builder.AddDouble(1, Timestamp, 0.0); } + public static void AddValueRefs(FlatBufferBuilder builder, VectorOffset ValueRefsOffset) { builder.AddOffset(2, ValueRefsOffset.Value, 0); } + public static VectorOffset CreateValueRefsVector(FlatBufferBuilder builder, uint[] data) { builder.StartVector(4, data.Length, 4); for (int i = data.Length - 1; i >= 0; i--) builder.AddUint(data[i]); return builder.EndVector(); } + public static void StartValueRefsVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(4, numElems, 4); } + public static void AddValues(FlatBufferBuilder builder, VectorOffset ValuesOffset) { builder.AddOffset(3, ValuesOffset.Value, 0); } + public static VectorOffset CreateValuesVector(FlatBufferBuilder builder, int[] data) { builder.StartVector(4, data.Length, 4); for (int i = data.Length - 1; i >= 0; i--) builder.AddInt(data[i]); return builder.EndVector(); } + public static void StartValuesVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(4, numElems, 4); } + public static Offset<IntValues> EndIntValues(FlatBufferBuilder builder) { + int o = builder.EndObject(); + return new Offset<IntValues>(o); + } +}; + + +} diff --git a/Network/Protocol/Log.cs b/Network/Protocol/Log.cs new file mode 100644 index 0000000000000000000000000000000000000000..c027f849b56c25d43f4347d13d4d34c9f5d8930a --- /dev/null +++ b/Network/Protocol/Log.cs @@ -0,0 +1,44 @@ +// <auto-generated> +// automatically generated by the FlatBuffers compiler, do not modify +// </auto-generated> + +namespace Network.Protocol +{ + +using global::System; +using global::FlatBuffers; + +public struct Log : IFlatbufferObject +{ + private Table __p; + public ByteBuffer ByteBuffer { get { return __p.bb; } } + public static Log GetRootAsLog(ByteBuffer _bb) { return GetRootAsLog(_bb, new Log()); } + public static Log GetRootAsLog(ByteBuffer _bb, Log obj) { return (obj.__assign(_bb.GetInt(_bb.Position) + _bb.Position, _bb)); } + public void __init(int _i, ByteBuffer _bb) { __p.bb_pos = _i; __p.bb = _bb; } + public Log __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); return this; } + + public string InstanceName { get { int o = __p.__offset(4); return o != 0 ? __p.__string(o + __p.bb_pos) : null; } } + public ArraySegment<byte>? GetInstanceNameBytes() { return __p.__vector_as_arraysegment(4); } + public string Message { get { int o = __p.__offset(6); return o != 0 ? __p.__string(o + __p.bb_pos) : null; } } + public ArraySegment<byte>? GetMessageBytes() { return __p.__vector_as_arraysegment(6); } + + public static Offset<Log> CreateLog(FlatBufferBuilder builder, + StringOffset InstanceNameOffset = default(StringOffset), + StringOffset MessageOffset = default(StringOffset)) { + builder.StartObject(2); + Log.AddMessage(builder, MessageOffset); + Log.AddInstanceName(builder, InstanceNameOffset); + return Log.EndLog(builder); + } + + public static void StartLog(FlatBufferBuilder builder) { builder.StartObject(2); } + public static void AddInstanceName(FlatBufferBuilder builder, StringOffset InstanceNameOffset) { builder.AddOffset(0, InstanceNameOffset.Value, 0); } + public static void AddMessage(FlatBufferBuilder builder, StringOffset MessageOffset) { builder.AddOffset(1, MessageOffset.Value, 0); } + public static Offset<Log> EndLog(FlatBufferBuilder builder) { + int o = builder.EndObject(); + return new Offset<Log>(o); + } +}; + + +} diff --git a/Network/Protocol/ModeliMessage.cs b/Network/Protocol/ModeliMessage.cs new file mode 100644 index 0000000000000000000000000000000000000000..501d39d3b24983c3a47db14023666c2c88bf03f4 --- /dev/null +++ b/Network/Protocol/ModeliMessage.cs @@ -0,0 +1,51 @@ +// <auto-generated> +// automatically generated by the FlatBuffers compiler, do not modify +// </auto-generated> + +namespace Network.Protocol +{ + +using global::System; +using global::FlatBuffers; + +public struct ModeliMessage : IFlatbufferObject +{ + private Table __p; + public ByteBuffer ByteBuffer { get { return __p.bb; } } + public static ModeliMessage GetRootAsModeliMessage(ByteBuffer _bb) { return GetRootAsModeliMessage(_bb, new ModeliMessage()); } + public static ModeliMessage GetRootAsModeliMessage(ByteBuffer _bb, ModeliMessage obj) { return (obj.__assign(_bb.GetInt(_bb.Position) + _bb.Position, _bb)); } + public void __init(int _i, ByteBuffer _bb) { __p.bb_pos = _i; __p.bb = _bb; } + public ModeliMessage __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); return this; } + + public CommandEnum Command { get { int o = __p.__offset(4); return o != 0 ? (CommandEnum)__p.bb.GetInt(o + __p.bb_pos) : CommandEnum.KeepAlive; } } + public int JobNr { get { int o = __p.__offset(6); return o != 0 ? __p.bb.GetInt(o + __p.bb_pos) : (int)0; } } + public DataUnion DataType { get { int o = __p.__offset(8); return o != 0 ? (DataUnion)__p.bb.Get(o + __p.bb_pos) : DataUnion.NONE; } } + public TTable? Data<TTable>() where TTable : struct, IFlatbufferObject { int o = __p.__offset(10); return o != 0 ? (TTable?)__p.__union<TTable>(o) : null; } + + public static Offset<ModeliMessage> CreateModeliMessage(FlatBufferBuilder builder, + CommandEnum Command = CommandEnum.KeepAlive, + int JobNr = 0, + DataUnion Data_type = DataUnion.NONE, + int DataOffset = 0) { + builder.StartObject(4); + ModeliMessage.AddData(builder, DataOffset); + ModeliMessage.AddJobNr(builder, JobNr); + ModeliMessage.AddCommand(builder, Command); + ModeliMessage.AddDataType(builder, Data_type); + return ModeliMessage.EndModeliMessage(builder); + } + + public static void StartModeliMessage(FlatBufferBuilder builder) { builder.StartObject(4); } + public static void AddCommand(FlatBufferBuilder builder, CommandEnum Command) { builder.AddInt(0, (int)Command, 0); } + public static void AddJobNr(FlatBufferBuilder builder, int JobNr) { builder.AddInt(1, JobNr, 0); } + public static void AddDataType(FlatBufferBuilder builder, DataUnion DataType) { builder.AddByte(2, (byte)DataType, 0); } + public static void AddData(FlatBufferBuilder builder, int DataOffset) { builder.AddOffset(3, DataOffset, 0); } + public static Offset<ModeliMessage> EndModeliMessage(FlatBufferBuilder builder) { + int o = builder.EndObject(); + return new Offset<ModeliMessage>(o); + } + public static void FinishModeliMessageBuffer(FlatBufferBuilder builder, Offset<ModeliMessage> offset) { builder.Finish(offset.Value); } +}; + + +} diff --git a/Network/Protocol/RealValues.cs b/Network/Protocol/RealValues.cs new file mode 100644 index 0000000000000000000000000000000000000000..d78493f0691c5c7a81c5a41804e56085c1fff657 --- /dev/null +++ b/Network/Protocol/RealValues.cs @@ -0,0 +1,59 @@ +// <auto-generated> +// automatically generated by the FlatBuffers compiler, do not modify +// </auto-generated> + +namespace Network.Protocol +{ + +using global::System; +using global::FlatBuffers; + +public struct RealValues : IFlatbufferObject +{ + private Table __p; + public ByteBuffer ByteBuffer { get { return __p.bb; } } + public static RealValues GetRootAsRealValues(ByteBuffer _bb) { return GetRootAsRealValues(_bb, new RealValues()); } + public static RealValues GetRootAsRealValues(ByteBuffer _bb, RealValues obj) { return (obj.__assign(_bb.GetInt(_bb.Position) + _bb.Position, _bb)); } + public void __init(int _i, ByteBuffer _bb) { __p.bb_pos = _i; __p.bb = _bb; } + public RealValues __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); return this; } + + public string InstanceName { get { int o = __p.__offset(4); return o != 0 ? __p.__string(o + __p.bb_pos) : null; } } + public ArraySegment<byte>? GetInstanceNameBytes() { return __p.__vector_as_arraysegment(4); } + public double Timestamp { get { int o = __p.__offset(6); return o != 0 ? __p.bb.GetDouble(o + __p.bb_pos) : (double)0.0; } } + public uint ValueRefs(int j) { int o = __p.__offset(8); return o != 0 ? __p.bb.GetUint(__p.__vector(o) + j * 4) : (uint)0; } + public int ValueRefsLength { get { int o = __p.__offset(8); return o != 0 ? __p.__vector_len(o) : 0; } } + public ArraySegment<byte>? GetValueRefsBytes() { return __p.__vector_as_arraysegment(8); } + public double Values(int j) { int o = __p.__offset(10); return o != 0 ? __p.bb.GetDouble(__p.__vector(o) + j * 8) : (double)0; } + public int ValuesLength { get { int o = __p.__offset(10); return o != 0 ? __p.__vector_len(o) : 0; } } + public ArraySegment<byte>? GetValuesBytes() { return __p.__vector_as_arraysegment(10); } + + public static Offset<RealValues> CreateRealValues(FlatBufferBuilder builder, + StringOffset InstanceNameOffset = default(StringOffset), + double Timestamp = 0.0, + VectorOffset ValueRefsOffset = default(VectorOffset), + VectorOffset ValuesOffset = default(VectorOffset)) { + builder.StartObject(4); + RealValues.AddTimestamp(builder, Timestamp); + RealValues.AddValues(builder, ValuesOffset); + RealValues.AddValueRefs(builder, ValueRefsOffset); + RealValues.AddInstanceName(builder, InstanceNameOffset); + return RealValues.EndRealValues(builder); + } + + public static void StartRealValues(FlatBufferBuilder builder) { builder.StartObject(4); } + public static void AddInstanceName(FlatBufferBuilder builder, StringOffset InstanceNameOffset) { builder.AddOffset(0, InstanceNameOffset.Value, 0); } + public static void AddTimestamp(FlatBufferBuilder builder, double Timestamp) { builder.AddDouble(1, Timestamp, 0.0); } + public static void AddValueRefs(FlatBufferBuilder builder, VectorOffset ValueRefsOffset) { builder.AddOffset(2, ValueRefsOffset.Value, 0); } + public static VectorOffset CreateValueRefsVector(FlatBufferBuilder builder, uint[] data) { builder.StartVector(4, data.Length, 4); for (int i = data.Length - 1; i >= 0; i--) builder.AddUint(data[i]); return builder.EndVector(); } + public static void StartValueRefsVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(4, numElems, 4); } + public static void AddValues(FlatBufferBuilder builder, VectorOffset ValuesOffset) { builder.AddOffset(3, ValuesOffset.Value, 0); } + public static VectorOffset CreateValuesVector(FlatBufferBuilder builder, double[] data) { builder.StartVector(8, data.Length, 8); for (int i = data.Length - 1; i >= 0; i--) builder.AddDouble(data[i]); return builder.EndVector(); } + public static void StartValuesVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(8, numElems, 8); } + public static Offset<RealValues> EndRealValues(FlatBufferBuilder builder) { + int o = builder.EndObject(); + return new Offset<RealValues>(o); + } +}; + + +} diff --git a/Network/Protocol/StringValues.cs b/Network/Protocol/StringValues.cs new file mode 100644 index 0000000000000000000000000000000000000000..995df51c5e173a3e8b805fd4231165af2ffb7a9f --- /dev/null +++ b/Network/Protocol/StringValues.cs @@ -0,0 +1,58 @@ +// <auto-generated> +// automatically generated by the FlatBuffers compiler, do not modify +// </auto-generated> + +namespace Network.Protocol +{ + +using global::System; +using global::FlatBuffers; + +public struct StringValues : IFlatbufferObject +{ + private Table __p; + public ByteBuffer ByteBuffer { get { return __p.bb; } } + public static StringValues GetRootAsStringValues(ByteBuffer _bb) { return GetRootAsStringValues(_bb, new StringValues()); } + public static StringValues GetRootAsStringValues(ByteBuffer _bb, StringValues obj) { return (obj.__assign(_bb.GetInt(_bb.Position) + _bb.Position, _bb)); } + public void __init(int _i, ByteBuffer _bb) { __p.bb_pos = _i; __p.bb = _bb; } + public StringValues __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); return this; } + + public string InstanceName { get { int o = __p.__offset(4); return o != 0 ? __p.__string(o + __p.bb_pos) : null; } } + public ArraySegment<byte>? GetInstanceNameBytes() { return __p.__vector_as_arraysegment(4); } + public double Timestamp { get { int o = __p.__offset(6); return o != 0 ? __p.bb.GetDouble(o + __p.bb_pos) : (double)0.0; } } + public uint ValueRefs(int j) { int o = __p.__offset(8); return o != 0 ? __p.bb.GetUint(__p.__vector(o) + j * 4) : (uint)0; } + public int ValueRefsLength { get { int o = __p.__offset(8); return o != 0 ? __p.__vector_len(o) : 0; } } + public ArraySegment<byte>? GetValueRefsBytes() { return __p.__vector_as_arraysegment(8); } + public string Values(int j) { int o = __p.__offset(10); return o != 0 ? __p.__string(__p.__vector(o) + j * 4) : null; } + public int ValuesLength { get { int o = __p.__offset(10); return o != 0 ? __p.__vector_len(o) : 0; } } + + public static Offset<StringValues> CreateStringValues(FlatBufferBuilder builder, + StringOffset InstanceNameOffset = default(StringOffset), + double Timestamp = 0.0, + VectorOffset ValueRefsOffset = default(VectorOffset), + VectorOffset ValuesOffset = default(VectorOffset)) { + builder.StartObject(4); + StringValues.AddTimestamp(builder, Timestamp); + StringValues.AddValues(builder, ValuesOffset); + StringValues.AddValueRefs(builder, ValueRefsOffset); + StringValues.AddInstanceName(builder, InstanceNameOffset); + return StringValues.EndStringValues(builder); + } + + public static void StartStringValues(FlatBufferBuilder builder) { builder.StartObject(4); } + public static void AddInstanceName(FlatBufferBuilder builder, StringOffset InstanceNameOffset) { builder.AddOffset(0, InstanceNameOffset.Value, 0); } + public static void AddTimestamp(FlatBufferBuilder builder, double Timestamp) { builder.AddDouble(1, Timestamp, 0.0); } + public static void AddValueRefs(FlatBufferBuilder builder, VectorOffset ValueRefsOffset) { builder.AddOffset(2, ValueRefsOffset.Value, 0); } + public static VectorOffset CreateValueRefsVector(FlatBufferBuilder builder, uint[] data) { builder.StartVector(4, data.Length, 4); for (int i = data.Length - 1; i >= 0; i--) builder.AddUint(data[i]); return builder.EndVector(); } + public static void StartValueRefsVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(4, numElems, 4); } + public static void AddValues(FlatBufferBuilder builder, VectorOffset ValuesOffset) { builder.AddOffset(3, ValuesOffset.Value, 0); } + public static VectorOffset CreateValuesVector(FlatBufferBuilder builder, StringOffset[] data) { builder.StartVector(4, data.Length, 4); for (int i = data.Length - 1; i >= 0; i--) builder.AddOffset(data[i].Value); return builder.EndVector(); } + public static void StartValuesVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(4, numElems, 4); } + public static Offset<StringValues> EndStringValues(FlatBufferBuilder builder) { + int o = builder.EndObject(); + return new Offset<StringValues>(o); + } +}; + + +} diff --git a/Network/Protocol/Time.cs b/Network/Protocol/Time.cs new file mode 100644 index 0000000000000000000000000000000000000000..78b0a50bf55d48b6fa15821e2cde57cd183f145d --- /dev/null +++ b/Network/Protocol/Time.cs @@ -0,0 +1,38 @@ +// <auto-generated> +// automatically generated by the FlatBuffers compiler, do not modify +// </auto-generated> + +namespace Network.Protocol +{ + +using global::System; +using global::FlatBuffers; + +public struct Time : IFlatbufferObject +{ + private Table __p; + public ByteBuffer ByteBuffer { get { return __p.bb; } } + public static Time GetRootAsTime(ByteBuffer _bb) { return GetRootAsTime(_bb, new Time()); } + public static Time GetRootAsTime(ByteBuffer _bb, Time obj) { return (obj.__assign(_bb.GetInt(_bb.Position) + _bb.Position, _bb)); } + public void __init(int _i, ByteBuffer _bb) { __p.bb_pos = _i; __p.bb = _bb; } + public Time __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); return this; } + + public double Value { get { int o = __p.__offset(4); return o != 0 ? __p.bb.GetDouble(o + __p.bb_pos) : (double)0.0; } } + + public static Offset<Time> CreateTime(FlatBufferBuilder builder, + double Value = 0.0) { + builder.StartObject(1); + Time.AddValue(builder, Value); + return Time.EndTime(builder); + } + + public static void StartTime(FlatBufferBuilder builder) { builder.StartObject(1); } + public static void AddValue(FlatBufferBuilder builder, double Value) { builder.AddDouble(0, Value, 0.0); } + public static Offset<Time> EndTime(FlatBufferBuilder builder) { + int o = builder.EndObject(); + return new Offset<Time>(o); + } +}; + + +} diff --git a/Network/Protocol/ValueRefs.cs b/Network/Protocol/ValueRefs.cs new file mode 100644 index 0000000000000000000000000000000000000000..3126e62282dd601d8914241833c8bf748c1523d7 --- /dev/null +++ b/Network/Protocol/ValueRefs.cs @@ -0,0 +1,71 @@ +// <auto-generated> +// automatically generated by the FlatBuffers compiler, do not modify +// </auto-generated> + +namespace Network.Protocol +{ + +using global::System; +using global::FlatBuffers; + +public struct ValueRefs : IFlatbufferObject +{ + private Table __p; + public ByteBuffer ByteBuffer { get { return __p.bb; } } + public static ValueRefs GetRootAsValueRefs(ByteBuffer _bb) { return GetRootAsValueRefs(_bb, new ValueRefs()); } + public static ValueRefs GetRootAsValueRefs(ByteBuffer _bb, ValueRefs obj) { return (obj.__assign(_bb.GetInt(_bb.Position) + _bb.Position, _bb)); } + public void __init(int _i, ByteBuffer _bb) { __p.bb_pos = _i; __p.bb = _bb; } + public ValueRefs __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); return this; } + + public string InstanceName { get { int o = __p.__offset(4); return o != 0 ? __p.__string(o + __p.bb_pos) : null; } } + public ArraySegment<byte>? GetInstanceNameBytes() { return __p.__vector_as_arraysegment(4); } + public uint IntVrs(int j) { int o = __p.__offset(6); return o != 0 ? __p.bb.GetUint(__p.__vector(o) + j * 4) : (uint)0; } + public int IntVrsLength { get { int o = __p.__offset(6); return o != 0 ? __p.__vector_len(o) : 0; } } + public ArraySegment<byte>? GetIntVrsBytes() { return __p.__vector_as_arraysegment(6); } + public uint RealVrs(int j) { int o = __p.__offset(8); return o != 0 ? __p.bb.GetUint(__p.__vector(o) + j * 4) : (uint)0; } + public int RealVrsLength { get { int o = __p.__offset(8); return o != 0 ? __p.__vector_len(o) : 0; } } + public ArraySegment<byte>? GetRealVrsBytes() { return __p.__vector_as_arraysegment(8); } + public uint BoolVrs(int j) { int o = __p.__offset(10); return o != 0 ? __p.bb.GetUint(__p.__vector(o) + j * 4) : (uint)0; } + public int BoolVrsLength { get { int o = __p.__offset(10); return o != 0 ? __p.__vector_len(o) : 0; } } + public ArraySegment<byte>? GetBoolVrsBytes() { return __p.__vector_as_arraysegment(10); } + public uint StringVrs(int j) { int o = __p.__offset(12); return o != 0 ? __p.bb.GetUint(__p.__vector(o) + j * 4) : (uint)0; } + public int StringVrsLength { get { int o = __p.__offset(12); return o != 0 ? __p.__vector_len(o) : 0; } } + public ArraySegment<byte>? GetStringVrsBytes() { return __p.__vector_as_arraysegment(12); } + + public static Offset<ValueRefs> CreateValueRefs(FlatBufferBuilder builder, + StringOffset InstanceNameOffset = default(StringOffset), + VectorOffset IntVrsOffset = default(VectorOffset), + VectorOffset RealVrsOffset = default(VectorOffset), + VectorOffset BoolVrsOffset = default(VectorOffset), + VectorOffset StringVrsOffset = default(VectorOffset)) { + builder.StartObject(5); + ValueRefs.AddStringVrs(builder, StringVrsOffset); + ValueRefs.AddBoolVrs(builder, BoolVrsOffset); + ValueRefs.AddRealVrs(builder, RealVrsOffset); + ValueRefs.AddIntVrs(builder, IntVrsOffset); + ValueRefs.AddInstanceName(builder, InstanceNameOffset); + return ValueRefs.EndValueRefs(builder); + } + + public static void StartValueRefs(FlatBufferBuilder builder) { builder.StartObject(5); } + public static void AddInstanceName(FlatBufferBuilder builder, StringOffset InstanceNameOffset) { builder.AddOffset(0, InstanceNameOffset.Value, 0); } + public static void AddIntVrs(FlatBufferBuilder builder, VectorOffset IntVrsOffset) { builder.AddOffset(1, IntVrsOffset.Value, 0); } + public static VectorOffset CreateIntVrsVector(FlatBufferBuilder builder, uint[] data) { builder.StartVector(4, data.Length, 4); for (int i = data.Length - 1; i >= 0; i--) builder.AddUint(data[i]); return builder.EndVector(); } + public static void StartIntVrsVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(4, numElems, 4); } + public static void AddRealVrs(FlatBufferBuilder builder, VectorOffset RealVrsOffset) { builder.AddOffset(2, RealVrsOffset.Value, 0); } + public static VectorOffset CreateRealVrsVector(FlatBufferBuilder builder, uint[] data) { builder.StartVector(4, data.Length, 4); for (int i = data.Length - 1; i >= 0; i--) builder.AddUint(data[i]); return builder.EndVector(); } + public static void StartRealVrsVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(4, numElems, 4); } + public static void AddBoolVrs(FlatBufferBuilder builder, VectorOffset BoolVrsOffset) { builder.AddOffset(3, BoolVrsOffset.Value, 0); } + public static VectorOffset CreateBoolVrsVector(FlatBufferBuilder builder, uint[] data) { builder.StartVector(4, data.Length, 4); for (int i = data.Length - 1; i >= 0; i--) builder.AddUint(data[i]); return builder.EndVector(); } + public static void StartBoolVrsVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(4, numElems, 4); } + public static void AddStringVrs(FlatBufferBuilder builder, VectorOffset StringVrsOffset) { builder.AddOffset(4, StringVrsOffset.Value, 0); } + public static VectorOffset CreateStringVrsVector(FlatBufferBuilder builder, uint[] data) { builder.StartVector(4, data.Length, 4); for (int i = data.Length - 1; i >= 0; i--) builder.AddUint(data[i]); return builder.EndVector(); } + public static void StartStringVrsVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(4, numElems, 4); } + public static Offset<ValueRefs> EndValueRefs(FlatBufferBuilder builder) { + int o = builder.EndObject(); + return new Offset<ValueRefs>(o); + } +}; + + +} diff --git a/flatc.exe b/flatc.exe new file mode 100644 index 0000000000000000000000000000000000000000..662cf228d525c3e52b932361d344cdf0f9b058d8 Binary files /dev/null and b/flatc.exe differ