2using Google.FlatBuffers;
3using System.Collections.Generic;
15 private readonly FlatBufferBuilder _builder;
20 private readonly List<Offset<Reference>> _references;
25 private readonly List<Offset<Extension>> _extensions;
30 private readonly List<Offset<LocaleText>> _displayNames;
35 private readonly List<Offset<LocaleText>> _descriptions;
40 private StringOffset _descriptionOffset;
45 private StringOffset _descriptionUrlOffset;
50 private NodeClass _nodeClass = NodeClass.Node;
55 private StringOffset _displayNameOffset;
60 private DisplayFormat _displayFormat = DisplayFormat.Auto;
65 private StringOffset _unitOffset;
70 private Offset<AllowedOperations> _allowedOperationsOffset;
79 string descriptionUrl =
"")
82 _references =
new List<Offset<Reference>>();
83 _extensions =
new List<Offset<Extension>>();
84 _displayNames =
new List<Offset<LocaleText>>();
85 _descriptions =
new List<Offset<LocaleText>>();
88 _allowedOperationsOffset = AllowedOperations.CreateAllowedOperations(_builder,
94 _descriptionOffset = _builder.CreateString(description);
95 _descriptionUrlOffset = _builder.CreateString(descriptionUrl);
105 _nodeClass = nodeClass;
116 _displayNameOffset = _builder.CreateString(displayName);
127 _displayFormat = displayFormat;
138 _unitOffset = _builder.CreateString(unit);
150 _references.Add(Reference.CreateReference(_builder, _builder.CreateString(type.
Value), _builder.CreateString(targetAddress)));
162 _extensions.Add(Extension.CreateExtension(_builder, _builder.CreateString(key), _builder.CreateString(value)));
174 _displayNames.Add(LocaleText.CreateLocaleText(_builder, _builder.CreateString(localeId), _builder.CreateString(text)));
186 _descriptions.Add(LocaleText.CreateLocaleText(_builder, _builder.CreateString(localeId), _builder.CreateString(text)));
196 var referencesVector = _references.Count == 0
197 ?
new VectorOffset(0)
198 : Reference.CreateSortedVectorOfReference(_builder, _references.ToArray());
199 var extensionsVector = _extensions.Count == 0
200 ?
new VectorOffset(0)
201 : Extension.CreateSortedVectorOfExtension(_builder, _extensions.ToArray());
202 var descriptionsVector = _descriptions.Count == 0
203 ?
new VectorOffset(0)
204 : LocaleText.CreateSortedVectorOfLocaleText(_builder, _descriptions.ToArray());
205 var displayNamesVector = _displayNames.Count == 0
206 ?
new VectorOffset(0)
207 : LocaleText.CreateSortedVectorOfLocaleText(_builder, _displayNames.ToArray());
209 var offsetMetadata = Metadata.CreateMetadata(_builder,
211 _allowedOperationsOffset,
213 _descriptionUrlOffset,
222 Metadata.FinishMetadataBuffer(_builder, offsetMetadata);
Represents a type of reference.
string Value
Gets the value.
Provides the implementation for IVariant.
static readonly int DefaultFlatbuffersInitialSize
Gets the default Flatbuffers initial size in bytes.
AllowedOperationFlags
The AllowedOperationFlags enumeration flags.