| Index: third_party/protobuf/csharp/src/Google.Protobuf/WellKnownTypes/FieldMask.cs
|
| diff --git a/third_party/protobuf/csharp/src/Google.Protobuf/WellKnownTypes/FieldMask.cs b/third_party/protobuf/csharp/src/Google.Protobuf/WellKnownTypes/FieldMask.cs
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..0cd5952a5d5b179f58da73a736a2f22967ffd3a6
|
| --- /dev/null
|
| +++ b/third_party/protobuf/csharp/src/Google.Protobuf/WellKnownTypes/FieldMask.cs
|
| @@ -0,0 +1,265 @@
|
| +// Generated by the protocol buffer compiler. DO NOT EDIT!
|
| +// source: google/protobuf/field_mask.proto
|
| +#pragma warning disable 1591, 0612, 3021
|
| +#region Designer generated code
|
| +
|
| +using pb = global::Google.Protobuf;
|
| +using pbc = global::Google.Protobuf.Collections;
|
| +using pbr = global::Google.Protobuf.Reflection;
|
| +using scg = global::System.Collections.Generic;
|
| +namespace Google.Protobuf.WellKnownTypes {
|
| +
|
| + /// <summary>Holder for reflection information generated from google/protobuf/field_mask.proto</summary>
|
| + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
| + public static partial class FieldMaskReflection {
|
| +
|
| + #region Descriptor
|
| + /// <summary>File descriptor for google/protobuf/field_mask.proto</summary>
|
| + public static pbr::FileDescriptor Descriptor {
|
| + get { return descriptor; }
|
| + }
|
| + private static pbr::FileDescriptor descriptor;
|
| +
|
| + static FieldMaskReflection() {
|
| + byte[] descriptorData = global::System.Convert.FromBase64String(
|
| + string.Concat(
|
| + "CiBnb29nbGUvcHJvdG9idWYvZmllbGRfbWFzay5wcm90bxIPZ29vZ2xlLnBy",
|
| + "b3RvYnVmIhoKCUZpZWxkTWFzaxINCgVwYXRocxgBIAMoCUJRChNjb20uZ29v",
|
| + "Z2xlLnByb3RvYnVmQg5GaWVsZE1hc2tQcm90b1ABoAEBogIDR1BCqgIeR29v",
|
| + "Z2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzM="));
|
| + descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
|
| + new pbr::FileDescriptor[] { },
|
| + new pbr::GeneratedCodeInfo(null, new pbr::GeneratedCodeInfo[] {
|
| + new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.WellKnownTypes.FieldMask), global::Google.Protobuf.WellKnownTypes.FieldMask.Parser, new[]{ "Paths" }, null, null, null)
|
| + }));
|
| + }
|
| + #endregion
|
| +
|
| + }
|
| + #region Messages
|
| + /// <summary>
|
| + /// `FieldMask` represents a set of symbolic field paths, for example:
|
| + ///
|
| + /// paths: "f.a"
|
| + /// paths: "f.b.d"
|
| + ///
|
| + /// Here `f` represents a field in some root message, `a` and `b`
|
| + /// fields in the message found in `f`, and `d` a field found in the
|
| + /// message in `f.b`.
|
| + ///
|
| + /// Field masks are used to specify a subset of fields that should be
|
| + /// returned by a get operation or modified by an update operation.
|
| + /// Field masks also have a custom JSON encoding (see below).
|
| + ///
|
| + /// # Field Masks in Projections
|
| + ///
|
| + /// When used in the context of a projection, a response message or
|
| + /// sub-message is filtered by the API to only contain those fields as
|
| + /// specified in the mask. For example, if the mask in the previous
|
| + /// example is applied to a response message as follows:
|
| + ///
|
| + /// f {
|
| + /// a : 22
|
| + /// b {
|
| + /// d : 1
|
| + /// x : 2
|
| + /// }
|
| + /// y : 13
|
| + /// }
|
| + /// z: 8
|
| + ///
|
| + /// The result will not contain specific values for fields x,y and z
|
| + /// (there value will be set to the default, and omitted in proto text
|
| + /// output):
|
| + ///
|
| + /// f {
|
| + /// a : 22
|
| + /// b {
|
| + /// d : 1
|
| + /// }
|
| + /// }
|
| + ///
|
| + /// A repeated field is not allowed except at the last position of a
|
| + /// field mask.
|
| + ///
|
| + /// If a FieldMask object is not present in a get operation, the
|
| + /// operation applies to all fields (as if a FieldMask of all fields
|
| + /// had been specified).
|
| + ///
|
| + /// Note that a field mask does not necessarily applies to the
|
| + /// top-level response message. In case of a REST get operation, the
|
| + /// field mask applies directly to the response, but in case of a REST
|
| + /// list operation, the mask instead applies to each individual message
|
| + /// in the returned resource list. In case of a REST custom method,
|
| + /// other definitions may be used. Where the mask applies will be
|
| + /// clearly documented together with its declaration in the API. In
|
| + /// any case, the effect on the returned resource/resources is required
|
| + /// behavior for APIs.
|
| + ///
|
| + /// # Field Masks in Update Operations
|
| + ///
|
| + /// A field mask in update operations specifies which fields of the
|
| + /// targeted resource are going to be updated. The API is required
|
| + /// to only change the values of the fields as specified in the mask
|
| + /// and leave the others untouched. If a resource is passed in to
|
| + /// describe the updated values, the API ignores the values of all
|
| + /// fields not covered by the mask.
|
| + ///
|
| + /// In order to reset a field's value to the default, the field must
|
| + /// be in the mask and set to the default value in the provided resource.
|
| + /// Hence, in order to reset all fields of a resource, provide a default
|
| + /// instance of the resource and set all fields in the mask, or do
|
| + /// not provide a mask as described below.
|
| + ///
|
| + /// If a field mask is not present on update, the operation applies to
|
| + /// all fields (as if a field mask of all fields has been specified).
|
| + /// Note that in the presence of schema evolution, this may mean that
|
| + /// fields the client does not know and has therefore not filled into
|
| + /// the request will be reset to their default. If this is unwanted
|
| + /// behavior, a specific service may require a client to always specify
|
| + /// a field mask, producing an error if not.
|
| + ///
|
| + /// As with get operations, the location of the resource which
|
| + /// describes the updated values in the request message depends on the
|
| + /// operation kind. In any case, the effect of the field mask is
|
| + /// required to be honored by the API.
|
| + ///
|
| + /// ## Considerations for HTTP REST
|
| + ///
|
| + /// The HTTP kind of an update operation which uses a field mask must
|
| + /// be set to PATCH instead of PUT in order to satisfy HTTP semantics
|
| + /// (PUT must only be used for full updates).
|
| + ///
|
| + /// # JSON Encoding of Field Masks
|
| + ///
|
| + /// In JSON, a field mask is encoded as a single string where paths are
|
| + /// separated by a comma. Fields name in each path are converted
|
| + /// to/from lower-camel naming conventions.
|
| + ///
|
| + /// As an example, consider the following message declarations:
|
| + ///
|
| + /// message Profile {
|
| + /// User user = 1;
|
| + /// Photo photo = 2;
|
| + /// }
|
| + /// message User {
|
| + /// string display_name = 1;
|
| + /// string address = 2;
|
| + /// }
|
| + ///
|
| + /// In proto a field mask for `Profile` may look as such:
|
| + ///
|
| + /// mask {
|
| + /// paths: "user.display_name"
|
| + /// paths: "photo"
|
| + /// }
|
| + ///
|
| + /// In JSON, the same mask is represented as below:
|
| + ///
|
| + /// {
|
| + /// mask: "user.displayName,photo"
|
| + /// }
|
| + /// </summary>
|
| + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
| + public sealed partial class FieldMask : pb::IMessage<FieldMask> {
|
| + private static readonly pb::MessageParser<FieldMask> _parser = new pb::MessageParser<FieldMask>(() => new FieldMask());
|
| + public static pb::MessageParser<FieldMask> Parser { get { return _parser; } }
|
| +
|
| + public static pbr::MessageDescriptor Descriptor {
|
| + get { return global::Google.Protobuf.WellKnownTypes.FieldMaskReflection.Descriptor.MessageTypes[0]; }
|
| + }
|
| +
|
| + pbr::MessageDescriptor pb::IMessage.Descriptor {
|
| + get { return Descriptor; }
|
| + }
|
| +
|
| + public FieldMask() {
|
| + OnConstruction();
|
| + }
|
| +
|
| + partial void OnConstruction();
|
| +
|
| + public FieldMask(FieldMask other) : this() {
|
| + paths_ = other.paths_.Clone();
|
| + }
|
| +
|
| + public FieldMask Clone() {
|
| + return new FieldMask(this);
|
| + }
|
| +
|
| + /// <summary>Field number for the "paths" field.</summary>
|
| + public const int PathsFieldNumber = 1;
|
| + private static readonly pb::FieldCodec<string> _repeated_paths_codec
|
| + = pb::FieldCodec.ForString(10);
|
| + private readonly pbc::RepeatedField<string> paths_ = new pbc::RepeatedField<string>();
|
| + /// <summary>
|
| + /// The set of field mask paths.
|
| + /// </summary>
|
| + public pbc::RepeatedField<string> Paths {
|
| + get { return paths_; }
|
| + }
|
| +
|
| + public override bool Equals(object other) {
|
| + return Equals(other as FieldMask);
|
| + }
|
| +
|
| + public bool Equals(FieldMask other) {
|
| + if (ReferenceEquals(other, null)) {
|
| + return false;
|
| + }
|
| + if (ReferenceEquals(other, this)) {
|
| + return true;
|
| + }
|
| + if(!paths_.Equals(other.paths_)) return false;
|
| + return true;
|
| + }
|
| +
|
| + public override int GetHashCode() {
|
| + int hash = 1;
|
| + hash ^= paths_.GetHashCode();
|
| + return hash;
|
| + }
|
| +
|
| + public override string ToString() {
|
| + return pb::JsonFormatter.ToDiagnosticString(this);
|
| + }
|
| +
|
| + public void WriteTo(pb::CodedOutputStream output) {
|
| + paths_.WriteTo(output, _repeated_paths_codec);
|
| + }
|
| +
|
| + public int CalculateSize() {
|
| + int size = 0;
|
| + size += paths_.CalculateSize(_repeated_paths_codec);
|
| + return size;
|
| + }
|
| +
|
| + public void MergeFrom(FieldMask other) {
|
| + if (other == null) {
|
| + return;
|
| + }
|
| + paths_.Add(other.paths_);
|
| + }
|
| +
|
| + public void MergeFrom(pb::CodedInputStream input) {
|
| + uint tag;
|
| + while ((tag = input.ReadTag()) != 0) {
|
| + switch(tag) {
|
| + default:
|
| + input.SkipLastField();
|
| + break;
|
| + case 10: {
|
| + paths_.AddEntriesFrom(input, _repeated_paths_codec);
|
| + break;
|
| + }
|
| + }
|
| + }
|
| + }
|
| +
|
| + }
|
| +
|
| + #endregion
|
| +
|
| +}
|
| +
|
| +#endregion Designer generated code
|
|
|