76 lines
1.8 KiB
C#
76 lines
1.8 KiB
C#
using System;
|
|
using System.IO;
|
|
|
|
namespace Google.Protobuf
|
|
{
|
|
// Token: 0x02000016 RID: 22
|
|
public sealed class MessageParser<T> : MessageParser where T : IMessage<T>
|
|
{
|
|
// Token: 0x06000145 RID: 325 RVA: 0x000078F4 File Offset: 0x00005AF4
|
|
public MessageParser(Func<T> factory)
|
|
: base(() => factory())
|
|
{
|
|
this.factory = factory;
|
|
}
|
|
|
|
// Token: 0x06000146 RID: 326 RVA: 0x0000792C File Offset: 0x00005B2C
|
|
internal new T CreateTemplate()
|
|
{
|
|
return this.factory();
|
|
}
|
|
|
|
// Token: 0x06000147 RID: 327 RVA: 0x00007939 File Offset: 0x00005B39
|
|
public new T ParseFrom(byte[] data)
|
|
{
|
|
ProtoPreconditions.CheckNotNull<byte[]>(data, "data");
|
|
T t = this.factory();
|
|
t.MergeFrom(data);
|
|
return t;
|
|
}
|
|
|
|
// Token: 0x06000148 RID: 328 RVA: 0x0000795E File Offset: 0x00005B5E
|
|
public new T ParseFrom(ByteString data)
|
|
{
|
|
ProtoPreconditions.CheckNotNull<ByteString>(data, "data");
|
|
T t = this.factory();
|
|
t.MergeFrom(data);
|
|
return t;
|
|
}
|
|
|
|
// Token: 0x06000149 RID: 329 RVA: 0x00007983 File Offset: 0x00005B83
|
|
public new T ParseFrom(Stream input)
|
|
{
|
|
T t = this.factory();
|
|
t.MergeFrom(input);
|
|
return t;
|
|
}
|
|
|
|
// Token: 0x0600014A RID: 330 RVA: 0x0000799C File Offset: 0x00005B9C
|
|
public new T ParseDelimitedFrom(Stream input)
|
|
{
|
|
T t = this.factory();
|
|
t.MergeDelimitedFrom(input);
|
|
return t;
|
|
}
|
|
|
|
// Token: 0x0600014B RID: 331 RVA: 0x000079B8 File Offset: 0x00005BB8
|
|
public new T ParseFrom(CodedInputStream input)
|
|
{
|
|
T t = this.factory();
|
|
t.MergeFrom(input);
|
|
return t;
|
|
}
|
|
|
|
// Token: 0x0600014C RID: 332 RVA: 0x000079E0 File Offset: 0x00005BE0
|
|
public new T ParseJson(string json)
|
|
{
|
|
T t = this.factory();
|
|
JsonParser.Default.Merge(t, json);
|
|
return t;
|
|
}
|
|
|
|
// Token: 0x0400004B RID: 75
|
|
private readonly Func<T> factory;
|
|
}
|
|
}
|