|
|
|
@ -10,44 +10,55 @@ namespace Google.ProtocolBuffers { |
|
|
|
|
/// Implementation of the non-generic IMessage interface as far as possible. |
|
|
|
|
/// </summary> |
|
|
|
|
public abstract class AbstractBuilder : IBuilder { |
|
|
|
|
|
|
|
|
|
public bool Initialized { |
|
|
|
|
get { throw new NotImplementedException(); } |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public IDictionary<FieldDescriptor, object> AllFields { |
|
|
|
|
get { throw new NotImplementedException(); } |
|
|
|
|
#region Unimplemented members of IBuilder |
|
|
|
|
public abstract bool Initialized { get; } |
|
|
|
|
public abstract IDictionary<FieldDescriptor, object> AllFields { get; } |
|
|
|
|
public abstract object this[FieldDescriptor field] { get; set; } |
|
|
|
|
public abstract MessageDescriptor DescriptorForType { get; } |
|
|
|
|
public abstract int GetRepeatedFieldCount(FieldDescriptor field); |
|
|
|
|
public abstract object this[FieldDescriptor field, int index] { get; set; } |
|
|
|
|
public abstract bool HasField(FieldDescriptor field); |
|
|
|
|
#endregion |
|
|
|
|
|
|
|
|
|
#region New abstract methods to be overridden by implementations, allow explicit interface implementation |
|
|
|
|
protected abstract IMessage BuildImpl(); |
|
|
|
|
protected abstract IMessage BuildPartialImpl(); |
|
|
|
|
protected abstract IBuilder CloneImpl(); |
|
|
|
|
protected abstract IMessage DefaultInstanceForTypeImpl { get; } |
|
|
|
|
protected abstract IBuilder NewBuilderForFieldImpl<TField>(FieldDescriptor field); |
|
|
|
|
protected abstract IBuilder ClearFieldImpl(); |
|
|
|
|
protected abstract IBuilder AddRepeatedFieldImpl(FieldDescriptor field, object value); |
|
|
|
|
#endregion |
|
|
|
|
|
|
|
|
|
#region Methods simply proxying to the "Impl" methods, explicitly implementing IBuilder |
|
|
|
|
IMessage IBuilder.Build() { |
|
|
|
|
return BuildImpl(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
IMessage IBuilder.BuildPartial() { |
|
|
|
|
return BuildPartialImpl(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public object this[FieldDescriptor field] { |
|
|
|
|
get { |
|
|
|
|
throw new NotImplementedException(); |
|
|
|
|
} |
|
|
|
|
set { |
|
|
|
|
throw new NotImplementedException(); |
|
|
|
|
} |
|
|
|
|
public IBuilder Clone() { |
|
|
|
|
return CloneImpl(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public MessageDescriptor DescriptorForType { |
|
|
|
|
get { throw new NotImplementedException(); } |
|
|
|
|
|
|
|
|
|
public IMessage DefaultInstanceForType { |
|
|
|
|
get { return DefaultInstanceForTypeImpl; } |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public int GetRepeatedFieldCount(FieldDescriptor field) { |
|
|
|
|
throw new NotImplementedException(); |
|
|
|
|
public IBuilder NewBuilderForField<TField>(FieldDescriptor field) { |
|
|
|
|
return NewBuilderForFieldImpl<TField>(field); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public object this[FieldDescriptor field, int index] { |
|
|
|
|
get { |
|
|
|
|
throw new NotImplementedException(); |
|
|
|
|
} |
|
|
|
|
set { |
|
|
|
|
throw new NotImplementedException(); |
|
|
|
|
} |
|
|
|
|
public IBuilder ClearField(FieldDescriptor field) { |
|
|
|
|
return ClearFieldImpl(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public bool HasField(FieldDescriptor field) { |
|
|
|
|
throw new NotImplementedException(); |
|
|
|
|
public IBuilder AddRepeatedField(FieldDescriptor field, object value) { |
|
|
|
|
return AddRepeatedFieldImpl(field, value); |
|
|
|
|
} |
|
|
|
|
#endregion |
|
|
|
|
|
|
|
|
|
public IBuilder Clear() { |
|
|
|
|
foreach(FieldDescriptor field in AllFields.Keys) { |
|
|
|
@ -95,18 +106,6 @@ namespace Google.ProtocolBuffers { |
|
|
|
|
return this; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public IMessage Build() { |
|
|
|
|
throw new NotImplementedException(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public IMessage BuildPartial() { |
|
|
|
|
throw new NotImplementedException(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public IBuilder Clone() { |
|
|
|
|
throw new NotImplementedException(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public IBuilder MergeFrom(CodedInputStream input) { |
|
|
|
|
return MergeFrom(input, ExtensionRegistry.Empty); |
|
|
|
|
} |
|
|
|
@ -118,22 +117,6 @@ namespace Google.ProtocolBuffers { |
|
|
|
|
return this; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public IMessage DefaultInstanceForType { |
|
|
|
|
get { throw new NotImplementedException(); } |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public IBuilder NewBuilderForField<TField>(FieldDescriptor field) { |
|
|
|
|
throw new NotImplementedException(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public IBuilder ClearField(FieldDescriptor field) { |
|
|
|
|
throw new NotImplementedException(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public IBuilder AddRepeatedField(FieldDescriptor field, object value) { |
|
|
|
|
throw new NotImplementedException(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public IBuilder MergeUnknownFields(UnknownFieldSet unknownFields) { |
|
|
|
|
UnknownFields = UnknownFieldSet.CreateBuilder(UnknownFields) |
|
|
|
|
.MergeFrom(unknownFields) |
|
|
|
@ -141,14 +124,7 @@ namespace Google.ProtocolBuffers { |
|
|
|
|
return this; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public UnknownFieldSet UnknownFields { |
|
|
|
|
get { |
|
|
|
|
throw new NotImplementedException(); |
|
|
|
|
} |
|
|
|
|
set { |
|
|
|
|
throw new NotImplementedException(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
public UnknownFieldSet UnknownFields { get; set; } |
|
|
|
|
|
|
|
|
|
public IBuilder MergeFrom(ByteString data) { |
|
|
|
|
CodedInputStream input = data.CreateCodedInput(); |
|
|
|
|