aboutsummaryrefslogtreecommitdiff
path: root/src/ProtocolBuffers/CodedOutputStream.cs
diff options
context:
space:
mode:
authorcsharptest <roger@csharptest.net>2011-06-10 14:41:47 -0500
committerrogerk <devnull@localhost>2011-06-10 14:41:47 -0500
commit2b86884659413efb1cbbcf7ebe22ef46a565b13d (patch)
treee35e2776944153fbcad1a146b4b37ae9ed691a41 /src/ProtocolBuffers/CodedOutputStream.cs
parentb00ea13eb1b8055a0cde89d01bbde6d95e5cd1a5 (diff)
downloadprotobuf-2b86884659413efb1cbbcf7ebe22ef46a565b13d.tar.gz
protobuf-2b86884659413efb1cbbcf7ebe22ef46a565b13d.tar.bz2
protobuf-2b86884659413efb1cbbcf7ebe22ef46a565b13d.zip
Added the XmlFormatWriter/Reader
Diffstat (limited to 'src/ProtocolBuffers/CodedOutputStream.cs')
-rw-r--r--src/ProtocolBuffers/CodedOutputStream.cs38
1 files changed, 30 insertions, 8 deletions
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);