Skip to content
Snippets Groups Projects
Commit 5f626980 authored by Tim Übelhör's avatar Tim Übelhör
Browse files

remove flatbuffer

parent 90d03175
No related branches found
No related tags found
No related merge requests found
cd %cd%
flatc.exe -c ModeliProtocol.fbs
flatc.exe -n ModeliProtocol.fbs
cmd /k
\ No newline at end of file
// This protocol is used by the ModeliChart backend to transfer data to the frontend
namespace Network.Protocol;
// The TCP is 52062
// 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
Values, // Backend->Frontend: Latest simulation data. Frontend->Backen: Set values
Log // Send a log message to the frontend
}
// Contains the information to execute the command
union DataUnion {
Time, FmuFile, ValueRefs, ChannelLink, Values, 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 Values {
InstanceName:string;
Timestamp:double;
IntVrs:[uint];
IntValues:[int];
RealVrs:[uint];
RealValues:[double];
BoolVrs:[uint];
BoolValues:[int]; // fmistandard: stored as 1(true) or 0(false) int
StringVrs:[uint];
StringValues:[string];
}
table Feedback {
Result:int;
Message:string;
}
table Log {
InstanceName:string;
Message:string;
}
root_type ModeliMessage;
\ No newline at end of file
This diff is collapsed.
# This protocol is used by the ModeliChart backend to transfer data to the frontend.
# Since this is a fmu simulator all int results are fmi2Status
# The default port is 52062
@0xb51166b0ce5aa3a5;
# This interface offers methods for common simulation tasks
interface ModeliBackend {
# Start Simulation
play @0 () -> (result : Int16);
# Simulate as quick as possible
playFast @1 () -> (result : Int16);
# Pause simulation
pause @2 ();
# Stop and reset simulation
stop @3 () -> (result : Int16);
# Add a new Fmu to the simulation, returns false on fail
addFmu @4 (instanceName : Text, fmuFile : Data) -> (result : Bool);
# Remove a Fmu from the simulation, returns false on fail
removeFmu @5 (instanceName : Text) -> (result : Bool);
# Add a ChannelLink to the simulation, returns false on fail
addChannelLink @6 (channelLink : ChannelLink) -> (result : Bool);
# Remove matching ChannelLink from the simulation, returns false on fail
removeChannelLink @7 (channelLink : ChannelLink) -> (result : Bool);
# This struct defines a channel link.
struct ChannelLink {
masterInstanceName @0 : Text;
slaveInstanceName @1 : Text;
masterValueRef @2 : UInt32;
slaveValueRef @3 : UInt32;
factor @4 : Float64;
offset @5 : Float64;
}
# Set values in the simulation
setValues @8 (values : Values) -> (result : Int16);
# Register frontend so we can call the callbacks
registerFrontend @9 (frontend : ModeliFrontend);
}
interface ModeliFrontend {
# new values from the simulation
newValues @0 (timestamp : Float64, values : Values);
# Send a log message to the frontend
log @1 (instanceName : Text, status : Int16, message : Text);
}
# Send all values of one fmu in one struct
struct Values {
instanceName @0 : Text;
integerValueRefs @1 : List(UInt32);
integerValues @2 : List(Int32);
realValueRefs @3 : List(UInt32);
realValues @4 : List(Float64);
boolValueRefs @5 : List(UInt32);
boolValues @6 : List(Bool);
stringValueRefs @7 : List(UInt32);
stringValues @8 : List(Text);
}
\ No newline at end of file
// <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);
}
};
}
// <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,
Values = 11,
Log = 12,
};
}
// <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,
Values = 5,
Feedback = 6,
Log = 7,
};
}
// <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);
}
};
}
// <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);
}
};
}
// <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);
}
};
}
// <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); }
};
}
// <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);
}
};
}
// <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);
}
};
}
// <auto-generated>
// automatically generated by the FlatBuffers compiler, do not modify
// </auto-generated>
namespace Network.Protocol
{
using global::System;
using global::FlatBuffers;
public struct Values : IFlatbufferObject
{
private Table __p;
public ByteBuffer ByteBuffer { get { return __p.bb; } }
public static Values GetRootAsValues(ByteBuffer _bb) { return GetRootAsValues(_bb, new Values()); }
public static Values GetRootAsValues(ByteBuffer _bb, Values 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 Values __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 IntVrs(int j) { int o = __p.__offset(8); return o != 0 ? __p.bb.GetUint(__p.__vector(o) + j * 4) : (uint)0; }
public int IntVrsLength { get { int o = __p.__offset(8); return o != 0 ? __p.__vector_len(o) : 0; } }
public ArraySegment<byte>? GetIntVrsBytes() { return __p.__vector_as_arraysegment(8); }
public int IntValues(int j) { int o = __p.__offset(10); return o != 0 ? __p.bb.GetInt(__p.__vector(o) + j * 4) : (int)0; }
public int IntValuesLength { get { int o = __p.__offset(10); return o != 0 ? __p.__vector_len(o) : 0; } }
public ArraySegment<byte>? GetIntValuesBytes() { return __p.__vector_as_arraysegment(10); }
public uint RealVrs(int j) { int o = __p.__offset(12); return o != 0 ? __p.bb.GetUint(__p.__vector(o) + j * 4) : (uint)0; }
public int RealVrsLength { get { int o = __p.__offset(12); return o != 0 ? __p.__vector_len(o) : 0; } }
public ArraySegment<byte>? GetRealVrsBytes() { return __p.__vector_as_arraysegment(12); }
public double RealValues(int j) { int o = __p.__offset(14); return o != 0 ? __p.bb.GetDouble(__p.__vector(o) + j * 8) : (double)0; }
public int RealValuesLength { get { int o = __p.__offset(14); return o != 0 ? __p.__vector_len(o) : 0; } }
public ArraySegment<byte>? GetRealValuesBytes() { return __p.__vector_as_arraysegment(14); }
public uint BoolVrs(int j) { int o = __p.__offset(16); return o != 0 ? __p.bb.GetUint(__p.__vector(o) + j * 4) : (uint)0; }
public int BoolVrsLength { get { int o = __p.__offset(16); return o != 0 ? __p.__vector_len(o) : 0; } }
public ArraySegment<byte>? GetBoolVrsBytes() { return __p.__vector_as_arraysegment(16); }
public int BoolValues(int j) { int o = __p.__offset(18); return o != 0 ? __p.bb.GetInt(__p.__vector(o) + j * 4) : (int)0; }
public int BoolValuesLength { get { int o = __p.__offset(18); return o != 0 ? __p.__vector_len(o) : 0; } }
public ArraySegment<byte>? GetBoolValuesBytes() { return __p.__vector_as_arraysegment(18); }
public uint StringVrs(int j) { int o = __p.__offset(20); return o != 0 ? __p.bb.GetUint(__p.__vector(o) + j * 4) : (uint)0; }
public int StringVrsLength { get { int o = __p.__offset(20); return o != 0 ? __p.__vector_len(o) : 0; } }
public ArraySegment<byte>? GetStringVrsBytes() { return __p.__vector_as_arraysegment(20); }
public string StringValues(int j) { int o = __p.__offset(22); return o != 0 ? __p.__string(__p.__vector(o) + j * 4) : null; }
public int StringValuesLength { get { int o = __p.__offset(22); return o != 0 ? __p.__vector_len(o) : 0; } }
public static Offset<Values> CreateValues(FlatBufferBuilder builder,
StringOffset InstanceNameOffset = default(StringOffset),
double Timestamp = 0.0,
VectorOffset IntVrsOffset = default(VectorOffset),
VectorOffset IntValuesOffset = default(VectorOffset),
VectorOffset RealVrsOffset = default(VectorOffset),
VectorOffset RealValuesOffset = default(VectorOffset),
VectorOffset BoolVrsOffset = default(VectorOffset),
VectorOffset BoolValuesOffset = default(VectorOffset),
VectorOffset StringVrsOffset = default(VectorOffset),
VectorOffset StringValuesOffset = default(VectorOffset)) {
builder.StartObject(10);
Values.AddTimestamp(builder, Timestamp);
Values.AddStringValues(builder, StringValuesOffset);
Values.AddStringVrs(builder, StringVrsOffset);
Values.AddBoolValues(builder, BoolValuesOffset);
Values.AddBoolVrs(builder, BoolVrsOffset);
Values.AddRealValues(builder, RealValuesOffset);
Values.AddRealVrs(builder, RealVrsOffset);
Values.AddIntValues(builder, IntValuesOffset);
Values.AddIntVrs(builder, IntVrsOffset);
Values.AddInstanceName(builder, InstanceNameOffset);
return Values.EndValues(builder);
}
public static void StartValues(FlatBufferBuilder builder) { builder.StartObject(10); }
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 AddIntVrs(FlatBufferBuilder builder, VectorOffset IntVrsOffset) { builder.AddOffset(2, 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 AddIntValues(FlatBufferBuilder builder, VectorOffset IntValuesOffset) { builder.AddOffset(3, IntValuesOffset.Value, 0); }
public static VectorOffset CreateIntValuesVector(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 StartIntValuesVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(4, numElems, 4); }
public static void AddRealVrs(FlatBufferBuilder builder, VectorOffset RealVrsOffset) { builder.AddOffset(4, 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 AddRealValues(FlatBufferBuilder builder, VectorOffset RealValuesOffset) { builder.AddOffset(5, RealValuesOffset.Value, 0); }
public static VectorOffset CreateRealValuesVector(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 StartRealValuesVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(8, numElems, 8); }
public static void AddBoolVrs(FlatBufferBuilder builder, VectorOffset BoolVrsOffset) { builder.AddOffset(6, 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 AddBoolValues(FlatBufferBuilder builder, VectorOffset BoolValuesOffset) { builder.AddOffset(7, BoolValuesOffset.Value, 0); }
public static VectorOffset CreateBoolValuesVector(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 StartBoolValuesVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(4, numElems, 4); }
public static void AddStringVrs(FlatBufferBuilder builder, VectorOffset StringVrsOffset) { builder.AddOffset(8, 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 void AddStringValues(FlatBufferBuilder builder, VectorOffset StringValuesOffset) { builder.AddOffset(9, StringValuesOffset.Value, 0); }
public static VectorOffset CreateStringValuesVector(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 StartStringValuesVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(4, numElems, 4); }
public static Offset<Values> EndValues(FlatBufferBuilder builder) {
int o = builder.EndObject();
return new Offset<Values>(o);
}
};
}
Use flatc.exe in the command line to compile ModeliProtocol.fbs.
Use the batch files to generate the code.
For C# the nuget package Grpc.Tools must be installed. Also install the package Grpc for using the API.
For C++: flatc -c ModeliProtocol.fbs creates ModeliProtocol_generated.h.
For C++ use ninja & cmake as described in https://github.com/grpc/grpc/blob/master/INSTALL.md : (Use VS Developer Command Prompt)
For C#: flatc -n ModeliProtocol.fbs creates a folder Network.
The namespace is Network. Include the generated files and the neccessary flatbuffer libs (at https://github.com/google/flatbuffers)
\ No newline at end of file
For VS2017 replace: > call "%VS140COMNTOOLS%..\..\VC\vcvarsall.bat" x64
with: > call "%VS150COMNTOOLS%..\..\VC\Auxiliary\Build\vcvarsall.bat" x64
\ No newline at end of file
File deleted
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment