diff options
author | csharptest <roger@csharptest.net> | 2011-09-08 20:02:11 -0500 |
---|---|---|
committer | rogerk <devnull@localhost> | 2011-09-08 20:02:11 -0500 |
commit | c2d2c1adaf447bbc80194d8bce6c4e0442a7f47a (patch) | |
tree | a00d169fff4221e3779cb48e0e4c6001a1d5f604 /src/ProtocolBuffers.Serialization/JsonFormatReader.cs | |
parent | 8f0dcf3df1548a1eff0bed54a9b992f55b8f72d5 (diff) | |
download | protobuf-c2d2c1adaf447bbc80194d8bce6c4e0442a7f47a.tar.gz protobuf-c2d2c1adaf447bbc80194d8bce6c4e0442a7f47a.tar.bz2 protobuf-c2d2c1adaf447bbc80194d8bce6c4e0442a7f47a.zip |
first pass at adding required changes
Diffstat (limited to 'src/ProtocolBuffers.Serialization/JsonFormatReader.cs')
-rw-r--r-- | src/ProtocolBuffers.Serialization/JsonFormatReader.cs | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/src/ProtocolBuffers.Serialization/JsonFormatReader.cs b/src/ProtocolBuffers.Serialization/JsonFormatReader.cs index d4505d70..40336787 100644 --- a/src/ProtocolBuffers.Serialization/JsonFormatReader.cs +++ b/src/ProtocolBuffers.Serialization/JsonFormatReader.cs @@ -101,17 +101,34 @@ namespace Google.ProtocolBuffers.Serialization }
/// <summary>
- /// Merges the contents of stream into the provided message builder
+ /// Reads the root-message preamble specific to this formatter
/// </summary>
- public override TBuilder Merge<TBuilder>(TBuilder builder, ExtensionRegistry registry)
+ public override AbstractReader ReadStartMessage()
{
_input.Consume('{');
_stopChar.Push('}');
_state = ReaderState.BeginObject;
- builder.WeakMergeFrom(this, registry);
- _input.Consume((char) _stopChar.Pop());
+ return this;
+ }
+
+ /// <summary>
+ /// Reads the root-message close specific to this formatter
+ /// </summary>
+ public override void ReadEndMessage()
+ {
+ _input.Consume((char)_stopChar.Pop());
_state = ReaderState.EndValue;
+ }
+
+ /// <summary>
+ /// Merges the contents of stream into the provided message builder
+ /// </summary>
+ public override TBuilder Merge<TBuilder>(TBuilder builder, ExtensionRegistry registry)
+ {
+ AbstractReader rdr = ReadStartMessage();
+ builder.WeakMergeFrom(rdr, registry);
+ rdr.ReadEndMessage();
return builder;
}
|