private void ProcessStringData(RepeatedField <ListStringData> strings, NetworkStringList list) { foreach (var data in strings) { list.Add(data.Value, ParseBinaryData(data.BinaryData)); } }
private ListStringData CreateStringDataFor(Stream stream, NetworkStringList list, int index) { return(new ListStringData { Value = list[index], BinaryData = CreateBinaryDataFor(stream, list, index) }); }
public INetworkStringList CreateList(string name) { if (name == null) { throw new ArgumentNullException(nameof(name)); } if (_lists.FindIndex(stringList => stringList.Name == name) != -1) { throw new ArgumentException($"Cannot create string list with duplicate name {name}", nameof(name)); } var list = new NetworkStringList(_descriptorSet, name, _lists.Count); _lists.Add(list); return(list); }
private ListBinaryData CreateBinaryDataFor(Stream stream, NetworkStringList list, int index) { var binaryData = list.GetBinaryData(index); var message = new ListBinaryData(); if (binaryData != null) { binaryData.WriteTo(stream); stream.Position = 0; message.BinaryData = ByteString.FromStream(stream); stream.SetLength(0); message.DataType = _binaryDataDescriptorSet.GetDescriptorIndex(binaryData.Descriptor); } return(message); }