From 2b86884659413efb1cbbcf7ebe22ef46a565b13d Mon Sep 17 00:00:00 2001 From: csharptest Date: Fri, 10 Jun 2011 14:41:47 -0500 Subject: Added the XmlFormatWriter/Reader --- src/ProtocolBuffers/CodedOutputStream.cs | 38 +++++++++++++++++++++++++------- 1 file changed, 30 insertions(+), 8 deletions(-) (limited to 'src/ProtocolBuffers/CodedOutputStream.cs') diff --git a/src/ProtocolBuffers/CodedOutputStream.cs b/src/ProtocolBuffers/CodedOutputStream.cs index f16abf65..25fc0eaa 100644 --- a/src/ProtocolBuffers/CodedOutputStream.cs +++ b/src/ProtocolBuffers/CodedOutputStream.cs @@ -127,6 +127,36 @@ namespace Google.ProtocolBuffers #endregion + #region Writing of unknown fields + + [Obsolete] + public void WriteUnknownGroup(int fieldNumber, IMessageLite value) + { + WriteTag(fieldNumber, WireFormat.WireType.StartGroup); + value.WriteTo(this); + WriteTag(fieldNumber, WireFormat.WireType.EndGroup); + } + + public void WriteUnknownBytes(int fieldNumber, ByteString value) + { + WriteBytes(fieldNumber, null /*not used*/, value); + } + + [CLSCompliant(false)] + public void WriteUnknownField(int fieldNumber, WireFormat.WireType wireType, ulong value) + { + if(wireType == WireFormat.WireType.Varint) + WriteUInt64(fieldNumber, null /*not used*/, value); + else if (wireType == WireFormat.WireType.Fixed32) + WriteFixed32(fieldNumber, null /*not used*/, (uint)value); + else if (wireType == WireFormat.WireType.Fixed64) + WriteFixed64(fieldNumber, null /*not used*/, value); + else + throw InvalidProtocolBufferException.InvalidWireType(); + } + + #endregion + #region Writing of tags and fields public void WriteField(FieldType fieldType, int fieldNumber, string fieldName, object value) @@ -308,14 +338,6 @@ namespace Google.ProtocolBuffers WriteTag(fieldNumber, WireFormat.WireType.EndGroup); } - [Obsolete] - public void WriteUnknownGroup(int fieldNumber, string fieldName, IMessageLite value) - { - WriteTag(fieldNumber, WireFormat.WireType.StartGroup); - value.WriteTo(this); - WriteTag(fieldNumber, WireFormat.WireType.EndGroup); - } - public void WriteMessage(int fieldNumber, string fieldName, IMessageLite value) { WriteTag(fieldNumber, WireFormat.WireType.LengthDelimited); -- cgit v1.2.3