Пример #1
0
 private void ProcessStringData(RepeatedField <ListStringData> strings, NetworkStringList list)
 {
     foreach (var data in strings)
     {
         list.Add(data.Value, ParseBinaryData(data.BinaryData));
     }
 }
Пример #2
0
 private ListStringData CreateStringDataFor(Stream stream, NetworkStringList list, int index)
 {
     return(new ListStringData
     {
         Value = list[index],
         BinaryData = CreateBinaryDataFor(stream, list, index)
     });
 }
Пример #3
0
        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);
        }
Пример #4
0
        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);
        }