From f60d5b13baeadb81e51a578db624f27d0daf72bf Mon Sep 17 00:00:00 2001 From: leancloud-bot Date: Wed, 11 Jan 2023 11:17:03 +0800 Subject: [PATCH] 1.0.4 --- Plugins.meta | 8 + Plugins/LC.Google.Protobuf.dll | Bin 0 -> 358912 bytes Plugins/LC.Google.Protobuf.dll.meta | 33 + Plugins/LC.Google.Protobuf.pdb | Bin 0 -> 142288 bytes Plugins/LC.Google.Protobuf.pdb.meta | 7 + Plugins/LC.Google.Protobuf.xml | 9125 +++++++++++++++++++++++++++ Plugins/LC.Google.Protobuf.xml.meta | 7 + Plugins/LiveQuery.deps.json | 111 + Plugins/LiveQuery.deps.json.meta | 7 + Plugins/LiveQuery.dll | Bin 0 -> 22016 bytes Plugins/LiveQuery.dll.meta | 33 + Plugins/LiveQuery.pdb | Bin 0 -> 12328 bytes Plugins/LiveQuery.pdb.meta | 7 + Plugins/Realtime.dll | Bin 0 -> 299008 bytes Plugins/Realtime.dll.meta | 33 + Plugins/Realtime.pdb | Bin 0 -> 105612 bytes Plugins/Realtime.pdb.meta | 7 + Plugins/link.xml | 11 + Plugins/link.xml.meta | 7 + package.json | 16 + package.json.meta | 7 + 21 files changed, 9419 insertions(+) create mode 100644 Plugins.meta create mode 100644 Plugins/LC.Google.Protobuf.dll create mode 100644 Plugins/LC.Google.Protobuf.dll.meta create mode 100644 Plugins/LC.Google.Protobuf.pdb create mode 100644 Plugins/LC.Google.Protobuf.pdb.meta create mode 100644 Plugins/LC.Google.Protobuf.xml create mode 100644 Plugins/LC.Google.Protobuf.xml.meta create mode 100644 Plugins/LiveQuery.deps.json create mode 100644 Plugins/LiveQuery.deps.json.meta create mode 100644 Plugins/LiveQuery.dll create mode 100644 Plugins/LiveQuery.dll.meta create mode 100644 Plugins/LiveQuery.pdb create mode 100644 Plugins/LiveQuery.pdb.meta create mode 100644 Plugins/Realtime.dll create mode 100644 Plugins/Realtime.dll.meta create mode 100644 Plugins/Realtime.pdb create mode 100644 Plugins/Realtime.pdb.meta create mode 100644 Plugins/link.xml create mode 100644 Plugins/link.xml.meta create mode 100644 package.json create mode 100644 package.json.meta diff --git a/Plugins.meta b/Plugins.meta new file mode 100644 index 0000000..9c822bb --- /dev/null +++ b/Plugins.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 846a891be3a1047fda722afa5d940fb3 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/LC.Google.Protobuf.dll b/Plugins/LC.Google.Protobuf.dll new file mode 100644 index 0000000000000000000000000000000000000000..a70fbc1a473ff1d995017c264aad049ecda4ce85 GIT binary patch literal 358912 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

WT#ZF#7+q;X~vHk1-JID^P#XrpY$!srM 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

uyY8bowpd>&ACdDM1twoeHB+D(%Z` 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 literal 0 HcmV?d00001 diff --git a/Plugins/LC.Google.Protobuf.dll.meta b/Plugins/LC.Google.Protobuf.dll.meta new file mode 100644 index 0000000..ce00caa --- /dev/null +++ b/Plugins/LC.Google.Protobuf.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: d3185d34928984f6796232876b41b127 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/LC.Google.Protobuf.pdb b/Plugins/LC.Google.Protobuf.pdb new file mode 100644 index 0000000000000000000000000000000000000000..15ea20d27f875d12a05451e38662d26ed4abcbc8 GIT binary patch literal 142288 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 Oi?1q+=ENuVYyS_zglhr- literal 0 HcmV?d00001 diff --git a/Plugins/LC.Google.Protobuf.pdb.meta b/Plugins/LC.Google.Protobuf.pdb.meta new file mode 100644 index 0000000..6775cd8 --- /dev/null +++ b/Plugins/LC.Google.Protobuf.pdb.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 37db7608009fe499299cf5723607d8da +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/LC.Google.Protobuf.xml b/Plugins/LC.Google.Protobuf.xml new file mode 100644 index 0000000..0a7b479 --- /dev/null +++ b/Plugins/LC.Google.Protobuf.xml @@ -0,0 +1,9125 @@ + + + + LC.Google.Protobuf + + + +

+ Provides a utility routine to copy small arrays much more quickly than Buffer.BlockCopy + + + + + The threshold above which you should use Buffer.BlockCopy rather than ByteArray.Copy + + + + + Determines which copy routine to use based on the number of bytes to be copied. + + + + + Reverses the order of bytes in the array + + + + + Immutable array of bytes. + + + + + Unsafe operations that can cause IO Failure and/or other catastrophic side-effects. + + + + + Constructs a new ByteString from the given byte array. The array is + *not* copied, and must not be modified after this constructor is called. + + + + + Internal use only. Ensure that the provided array is not mutated and belongs to this instance. + + + + + Constructs a new ByteString from the given byte array. The array is + *not* copied, and must not be modified after this constructor is called. + + + + + Returns an empty ByteString. + + + + + Returns the length of this ByteString in bytes. + + + + + Returns true if this byte string is empty, false otherwise. + + + + + Converts this into a byte array. + + The data is copied - changes to the returned array will not be reflected in this ByteString. + A byte array with the same data as this ByteString. + + + + Converts this into a standard base64 representation. + + A base64 representation of this ByteString. + + + + Constructs a from the Base64 Encoded String. + + + + + Constructs a from data in the given stream, synchronously. + + If successful, will be read completely, from the position + at the start of the call. + The stream to copy into a ByteString. + A ByteString with content read from the given stream. + + + + Constructs a from data in the given stream, asynchronously. + + If successful, will be read completely, from the position + at the start of the call. + The stream to copy into a ByteString. + The cancellation token to use when reading from the stream, if any. + A ByteString with content read from the given stream. + + + + Constructs a from the given array. The contents + are copied, so further modifications to the array will not + be reflected in the returned ByteString. + This method can also be invoked in ByteString.CopyFrom(0xaa, 0xbb, ...) form + which is primarily useful for testing. + + + + + Constructs a from a portion of a byte array. + + + + + Creates a new by encoding the specified text with + the given encoding. + + + + + Creates a new by encoding the specified text in UTF-8. + + + + + Retuns the byte at the given index. + + + + + Converts this into a string by applying the given encoding. + + + This method should only be used to convert binary data which was the result of encoding + text with the given encoding. + + The encoding to use to decode the binary data into text. + The result of decoding the binary data with the given decoding. + + + + Converts this into a string by applying the UTF-8 encoding. + + + This method should only be used to convert binary data which was the result of encoding + text with UTF-8. + + The result of decoding the binary data with the given decoding. + + + + Returns an iterator over the bytes in this . + + An iterator over the bytes in this object. + + + + Returns an iterator over the bytes in this . + + An iterator over the bytes in this object. + + + + Creates a CodedInputStream from this ByteString's data. + + + + + Compares two byte strings for equality. + + The first byte string to compare. + The second byte string to compare. + true if the byte strings are equal; false otherwise. + + + + Compares two byte strings for inequality. + + The first byte string to compare. + The second byte string to compare. + false if the byte strings are equal; true otherwise. + + + + Compares this byte string with another object. + + The object to compare this with. + true if refers to an equal ; false otherwise. + + + + Returns a hash code for this object. Two equal byte strings + will return the same hash code. + + A hash code for this object. + + + + Compares this byte string with another. + + The to compare this with. + true if refers to an equal byte string; false otherwise. + + + + Used internally by CodedOutputStream to avoid creating a copy for the write + + + + + Copies the entire byte array to the destination array provided at the offset specified. + + + + + Writes the entire byte array to the provided stream + + + + + Reads and decodes protocol message fields. + + + + This class is generally used by generated code to read appropriate + primitives from the stream. It effectively encapsulates the lowest + levels of protocol buffer format. + + + Repeated fields and map fields are not handled by this class; use + and to serialize such fields. + + + + + + Whether to leave the underlying stream open when disposing of this stream. + This is always true when there's no stream. + + + + + Buffer of data read from the stream or provided at construction time. + + + + + The index of the buffer at which we need to refill from the stream (if there is one). + + + + + The position within the current buffer (i.e. the next byte to read) + + + + + The stream to read further input from, or null if the byte array buffer was provided + directly on construction, with no further data available. + + + + + The last tag we read. 0 indicates we've read to the end of the stream + (or haven't read anything yet). + + + + + The next tag, used to store the value read by PeekTag. + + + + + The total number of bytes read before the current buffer. The + total bytes read up to the current position can be computed as + totalBytesRetired + bufferPos. + + + + + The absolute position of the end of the current message. + + + + + Creates a new CodedInputStream reading data from the given byte array. + + + + + Creates a new that reads from the given byte array slice. + + + + + Creates a new reading data from the given stream, which will be disposed + when the returned object is disposed. + + The stream to read from. + + + + Creates a new reading data from the given stream. + + The stream to read from. + true to leave open when the returned + is disposed; false to dispose of the given stream when the + returned object is disposed. + + + + Creates a new CodedInputStream reading data from the given + stream and buffer, using the default limits. + + + + + Creates a new CodedInputStream reading data from the given + stream and buffer, using the specified limits. + + + This chains to the version with the default limits instead of vice versa to avoid + having to check that the default values are valid every time. + + + + + Creates a with the specified size and recursion limits, reading + from an input stream. + + + This method exists separately from the constructor to reduce the number of constructor overloads. + It is likely to be used considerably less frequently than the constructors, as the default limits + are suitable for most use cases. + + The input stream to read from + The total limit of data to read from the stream. + The maximum recursion depth to allow while reading. + A CodedInputStream reading from with the specified size + and recursion limits. + + + + Returns the current position in the input stream, or the position in the input buffer + + + + + Returns the last tag read, or 0 if no tags have been read or we've read beyond + the end of the stream. + + + + + Returns the size limit for this stream. + + + This limit is applied when reading from the underlying stream, as a sanity check. It is + not applied when reading from a byte array data source without an underlying stream. + The default value is Int32.MaxValue. + + + The size limit. + + + + + Returns the recursion limit for this stream. This limit is applied whilst reading messages, + to avoid maliciously-recursive data. + + + The default limit is 100. + + + The recursion limit for this stream. + + + + + Internal-only property; when set to true, unknown fields will be discarded while parsing. + + + + + Internal-only property; provides extension identifiers to compatible messages while parsing. + + + + + Disposes of this instance, potentially closing any underlying stream. + + + As there is no flushing to perform here, disposing of a which + was constructed with the leaveOpen option parameter set to true (or one which + was constructed to read from a byte array) has no effect. + + + + + Verifies that the last call to ReadTag() returned tag 0 - in other words, + we've reached the end of the stream when we expected to. + + The + tag read was not the one specified + + + + Peeks at the next field tag. This is like calling , but the + tag is not consumed. (So a subsequent call to will return the + same value.) + + + + + Reads a field tag, returning the tag of 0 for "end of stream". + + + If this method returns 0, it doesn't necessarily mean the end of all + the data in this CodedInputStream; it may be the end of the logical stream + for an embedded message, for example. + + The next field tag, or 0 for end of stream. (0 is never a valid tag.) + + + + Skips the data for the field with the tag we've just read. + This should be called directly after , when + the caller wishes to skip an unknown field. + + + This method throws if the last-read tag was an end-group tag. + If a caller wishes to skip a group, they should skip the whole group, by calling this method after reading the + start-group tag. This behavior allows callers to call this method on any field they don't understand, correctly + resulting in an error if an end-group tag has not been paired with an earlier start-group tag. + + The last tag was an end-group tag + The last read operation read to the end of the logical stream + + + + Skip a group. + + + + + Reads a double field from the stream. + + + + + Reads a float field from the stream. + + + + + Reads a uint64 field from the stream. + + + + + Reads an int64 field from the stream. + + + + + Reads an int32 field from the stream. + + + + + Reads a fixed64 field from the stream. + + + + + Reads a fixed32 field from the stream. + + + + + Reads a bool field from the stream. + + + + + Reads a string field from the stream. + + + + + Reads an embedded message field value from the stream. + + + + + Reads an embedded group field from the stream. + + + + + Reads an embedded group unknown field from the stream. + + + + + Reads a bytes field value from the stream. + + + + + Reads a uint32 field value from the stream. + + + + + Reads an enum field value from the stream. + + + + + Reads an sfixed32 field value from the stream. + + + + + Reads an sfixed64 field value from the stream. + + + + + Reads an sint32 field value from the stream. + + + + + Reads an sint64 field value from the stream. + + + + + Reads a length for length-delimited data. + + + This is internally just reading a varint, but this method exists + to make the calling code clearer. + + + + + Peeks at the next tag in the stream. If it matches , + the tag is consumed and the method returns true; otherwise, the + stream is left in the original position and the method returns false. + + + + + Same code as ReadRawVarint32, but read each byte individually, checking for + buffer overflow. + + + + + Reads a raw Varint from the stream. If larger than 32 bits, discard the upper bits. + This method is optimised for the case where we've got lots of data in the buffer. + That means we can check the size just once, then just read directly from the buffer + without constant rechecking of the buffer length. + + + + + Reads a varint from the input one byte at a time, so that it does not + read any bytes after the end of the varint. If you simply wrapped the + stream in a CodedInputStream and used ReadRawVarint32(Stream) + then you would probably end up reading past the end of the varint since + CodedInputStream buffers its input. + + + + + + + Reads a raw varint from the stream. + + + + + Reads a 32-bit little-endian integer from the stream. + + + + + Reads a 64-bit little-endian integer from the stream. + + + + + Decode a 32-bit value with ZigZag encoding. + + + ZigZag encodes signed integers into values that can be efficiently + encoded with varint. (Otherwise, negative values must be + sign-extended to 64 bits to be varint encoded, thus always taking + 10 bytes on the wire.) + + + + + Decode a 32-bit value with ZigZag encoding. + + + ZigZag encodes signed integers into values that can be efficiently + encoded with varint. (Otherwise, negative values must be + sign-extended to 64 bits to be varint encoded, thus always taking + 10 bytes on the wire.) + + + + + Sets currentLimit to (current position) + byteLimit. This is called + when descending into a length-delimited embedded message. The previous + limit is returned. + + The old limit. + + + + Discards the current limit, returning the previous limit. + + + + + Returns whether or not all the data before the limit has been read. + + + + + + Returns true if the stream has reached the end of the input. This is the + case if either the end of the underlying input source has been reached or + the stream has reached a limit created using PushLimit. + + + + + Called when buffer is empty to read more bytes from the + input. If is true, RefillBuffer() gurantees that + either there will be at least one byte in the buffer when it returns + or it will throw an exception. If is false, + RefillBuffer() returns false if no more bytes were available. + + + + + + + Read one byte from the input. + + + the end of the stream or the current limit was reached + + + + + Reads a fixed size of bytes from the input. + + + the end of the stream or the current limit was reached + + + + + Reads and discards bytes. + + the end of the stream + or the current limit was reached + + + + Abstraction of skipping to cope with streams which can't really skip. + + + + + Encodes and writes protocol message fields. + + + + This class is generally used by generated code to write appropriate + primitives to the stream. It effectively encapsulates the lowest + levels of protocol buffer format. Unlike some other implementations, + this does not include combined "write tag and value" methods. Generated + code knows the exact byte representations of the tags they're going to write, + so there's no need to re-encode them each time. Manually-written code calling + this class should just call one of the WriteTag overloads before each value. + + + Repeated fields and map fields are not handled by this class; use RepeatedField<T> + and MapField<TKey, TValue> to serialize such fields. + + + + + + Computes the number of bytes that would be needed to encode a + double field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + float field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + uint64 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + int64 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + int32 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + fixed64 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + fixed32 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + bool field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + string field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + group field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + embedded message field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + bytes field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + uint32 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + enum field, including the tag. The caller is responsible for + converting the enum value to its numeric value. + + + + + Computes the number of bytes that would be needed to encode an + sfixed32 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + sfixed64 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + sint32 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + sint64 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a length, + as written by . + + + + + Computes the number of bytes that would be needed to encode a varint. + + + + + Computes the number of bytes that would be needed to encode a varint. + + + + + Computes the number of bytes that would be needed to encode a tag. + + + + + The buffer size used by CreateInstance(Stream). + + + + + Creates a new CodedOutputStream that writes directly to the given + byte array. If more bytes are written than fit in the array, + OutOfSpaceException will be thrown. + + + + + Creates a new CodedOutputStream that writes directly to the given + byte array slice. If more bytes are written than fit in the array, + OutOfSpaceException will be thrown. + + + + + Creates a new which write to the given stream, and disposes of that + stream when the returned CodedOutputStream is disposed. + + The stream to write to. It will be disposed when the returned CodedOutputStream is disposed. + + + + Creates a new CodedOutputStream which write to the given stream and uses + the specified buffer size. + + The stream to write to. It will be disposed when the returned CodedOutputStream is disposed. + The size of buffer to use internally. + + + + Creates a new CodedOutputStream which write to the given stream. + + The stream to write to. + If true, is left open when the returned CodedOutputStream is disposed; + if false, the provided stream is disposed as well. + + + + Creates a new CodedOutputStream which write to the given stream and uses + the specified buffer size. + + The stream to write to. + The size of buffer to use internally. + If true, is left open when the returned CodedOutputStream is disposed; + if false, the provided stream is disposed as well. + + + + Returns the current position in the stream, or the position in the output buffer + + + + + Writes a double field value, without a tag, to the stream. + + The value to write + + + + Writes a float field value, without a tag, to the stream. + + The value to write + + + + Writes a uint64 field value, without a tag, to the stream. + + The value to write + + + + Writes an int64 field value, without a tag, to the stream. + + The value to write + + + + Writes an int32 field value, without a tag, to the stream. + + The value to write + + + + Writes a fixed64 field value, without a tag, to the stream. + + The value to write + + + + Writes a fixed32 field value, without a tag, to the stream. + + The value to write + + + + Writes a bool field value, without a tag, to the stream. + + The value to write + + + + Writes a string field value, without a tag, to the stream. + The data is length-prefixed. + + The value to write + + + + Writes a message, without a tag, to the stream. + The data is length-prefixed. + + The value to write + + + + Writes a group, without a tag, to the stream. + + The value to write + + + + Write a byte string, without a tag, to the stream. + The data is length-prefixed. + + The value to write + + + + Writes a uint32 value, without a tag, to the stream. + + The value to write + + + + Writes an enum value, without a tag, to the stream. + + The value to write + + + + Writes an sfixed32 value, without a tag, to the stream. + + The value to write. + + + + Writes an sfixed64 value, without a tag, to the stream. + + The value to write + + + + Writes an sint32 value, without a tag, to the stream. + + The value to write + + + + Writes an sint64 value, without a tag, to the stream. + + The value to write + + + + Writes a length (in bytes) for length-delimited data. + + + This method simply writes a rawint, but exists for clarity in calling code. + + Length value, in bytes. + + + + Encodes and writes a tag. + + The number of the field to write the tag for + The wire format type of the tag to write + + + + Writes an already-encoded tag. + + The encoded tag + + + + Writes the given single-byte tag directly to the stream. + + The encoded tag + + + + Writes the given two-byte tag directly to the stream. + + The first byte of the encoded tag + The second byte of the encoded tag + + + + Writes the given three-byte tag directly to the stream. + + The first byte of the encoded tag + The second byte of the encoded tag + The third byte of the encoded tag + + + + Writes the given four-byte tag directly to the stream. + + The first byte of the encoded tag + The second byte of the encoded tag + The third byte of the encoded tag + The fourth byte of the encoded tag + + + + Writes the given five-byte tag directly to the stream. + + The first byte of the encoded tag + The second byte of the encoded tag + The third byte of the encoded tag + The fourth byte of the encoded tag + The fifth byte of the encoded tag + + + + Writes a 32 bit value as a varint. The fast route is taken when + there's enough buffer space left to whizz through without checking + for each byte; otherwise, we resort to calling WriteRawByte each time. + + + + + Writes out an array of bytes. + + + + + Writes out part of an array of bytes. + + + + + Encode a 32-bit value with ZigZag encoding. + + + ZigZag encodes signed integers into values that can be efficiently + encoded with varint. (Otherwise, negative values must be + sign-extended to 64 bits to be varint encoded, thus always taking + 10 bytes on the wire.) + + + + + Encode a 64-bit value with ZigZag encoding. + + + ZigZag encodes signed integers into values that can be efficiently + encoded with varint. (Otherwise, negative values must be + sign-extended to 64 bits to be varint encoded, thus always taking + 10 bytes on the wire.) + + + + + Indicates that a CodedOutputStream wrapping a flat byte array + ran out of space. + + + + + Flushes any buffered data and optionally closes the underlying stream, if any. + + + + By default, any underlying stream is closed by this method. To configure this behaviour, + use a constructor overload with a leaveOpen parameter. If this instance does not + have an underlying stream, this method does nothing. + + + For the sake of efficiency, calling this method does not prevent future write calls - but + if a later write ends up writing to a stream which has been disposed, that is likely to + fail. It is recommend that you not call any other methods after this. + + + + + + Flushes any buffered data to the underlying stream (if there is one). + + + + + Verifies that SpaceLeft returns zero. It's common to create a byte array + that is exactly big enough to hold a message, then write to it with + a CodedOutputStream. Calling CheckNoSpaceLeft after writing verifies that + the message was actually as big as expected, which can help bugs. + + + + + If writing to a flat array, returns the space left in the array. Otherwise, + throws an InvalidOperationException. + + + + + Utility to compare if two Lists are the same, and the hash code + of a List. + + + + + Checks if two lists are equal. + + + + + Gets the list's hash code. + + + + + Representation of a map field in a Protocol Buffer message. + + Key type in the map. Must be a type supported by Protocol Buffer map keys. + Value type in the map. Must be a type supported by Protocol Buffers. + + + For string keys, the equality comparison is provided by . + + + Null values are not permitted in the map, either for wrapper types or regular messages. + If a map is deserialized from a data stream and the value is missing from an entry, a default value + is created instead. For primitive types, that is the regular default value (0, the empty string and so + on); for message types, an empty instance of the message is created, as if the map entry contained a 0-length + encoded value for the field. + + + This implementation does not generally prohibit the use of key/value types which are not + supported by Protocol Buffers (e.g. using a key type of byte) but nor does it guarantee + that all operations will work in such cases. + + + The order in which entries are returned when iterating over this object is undefined, and may change + in future versions. + + + + + + Creates a deep clone of this object. + + + A deep clone of this object. + + + + + Adds the specified key/value pair to the map. + + + This operation fails if the key already exists in the map. To replace an existing entry, use the indexer. + + The key to add + The value to add. + The given key already exists in map. + + + + Determines whether the specified key is present in the map. + + The key to check. + true if the map contains the given key; false otherwise. + + + + Removes the entry identified by the given key from the map. + + The key indicating the entry to remove from the map. + true if the map contained the given key before the entry was removed; false otherwise. + + + + Gets the value associated with the specified key. + + The key whose value to get. + When this method returns, the value associated with the specified key, if the key is found; + otherwise, the default value for the type of the parameter. + This parameter is passed uninitialized. + true if the map contains an element with the specified key; otherwise, false. + + + + Gets or sets the value associated with the specified key. + + The key of the value to get or set. + The property is retrieved and key does not exist in the collection. + The value associated with the specified key. If the specified key is not found, + a get operation throws a , and a set operation creates a new element with the specified key. + + + + Gets a collection containing the keys in the map. + + + + + Gets a collection containing the values in the map. + + + + + Adds the specified entries to the map. The keys and values are not automatically cloned. + + The entries to add to the map. + + + + Returns an enumerator that iterates through the collection. + + + An enumerator that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Adds the specified item to the map. + + The item to add to the map. + + + + Removes all items from the map. + + + + + Determines whether map contains an entry equivalent to the given key/value pair. + + The key/value pair to find. + + + + + Copies the key/value pairs in this map to an array. + + The array to copy the entries into. + The index of the array at which to start copying values. + + + + Removes the specified key/value pair from the map. + + Both the key and the value must be found for the entry to be removed. + The key/value pair to remove. + true if the key/value pair was found and removed; false otherwise. + + + + Gets the number of elements contained in the map. + + + + + Gets a value indicating whether the map is read-only. + + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Compares this map with another for equality. + + + The order of the key/value pairs in the maps is not deemed significant in this comparison. + + The map to compare this with. + true if refers to an equal map; false otherwise. + + + + Adds entries to the map from the given stream. + + + It is assumed that the stream is initially positioned after the tag specified by the codec. + This method will continue reading entries from the stream until the end is reached, or + a different tag is encountered. + + Stream to read from + Codec describing how the key/value pairs are encoded + + + + Writes the contents of this map to the given coded output stream, using the specified codec + to encode each entry. + + The output stream to write to. + The codec to use for each entry. + + + + Calculates the size of this map based on the given entry codec. + + The codec to use to encode each entry. + + + + + Returns a string representation of this repeated field, in the same + way as it would be represented by the default JSON formatter. + + + + + A codec for a specific map field. This contains all the information required to encode and + decode the nested messages. + + + + + Creates a new entry codec based on a separate key codec and value codec, + and the tag to use for each map entry. + + The key codec. + The value codec. + The map tag to use to introduce each map entry. + + + + The tag used in the enclosing message to indicate map entries. + + + + + A mutable message class, used for parsing and serializing. This + delegates the work to a codec, but implements the interface + for interop with and . + This is nested inside Codec as it's tightly coupled to the associated codec, + and it's simpler if it has direct access to all its fields. + + + + + Provides a central place to implement equality comparisons, primarily for bitwise float/double equality. + + + + + Returns an equality comparer for suitable for Protobuf equality comparisons. + This is usually just the default equality comparer for the type, but floating point numbers are compared + bitwise. + + The type of equality comparer to return. + The equality comparer. + + + + Returns an equality comparer suitable for comparing 64-bit floating point values, by bitwise comparison. + (NaN values are considered equal, but only when they have the same representation.) + + + + + Returns an equality comparer suitable for comparing 32-bit floating point values, by bitwise comparison. + (NaN values are considered equal, but only when they have the same representation.) + + + + + Returns an equality comparer suitable for comparing nullable 64-bit floating point values, by bitwise comparison. + (NaN values are considered equal, but only when they have the same representation.) + + + + + Returns an equality comparer suitable for comparing nullable 32-bit floating point values, by bitwise comparison. + (NaN values are considered equal, but only when they have the same representation.) + + + + + Read-only wrapper around another dictionary. + + + + + The contents of a repeated field: essentially, a collection with some extra + restrictions (no null values) and capabilities (deep cloning). + + + This implementation does not generally prohibit the use of types which are not + supported by Protocol Buffers but nor does it guarantee that all operations will work in such cases. + + The element type of the repeated field. + + + + Creates a deep clone of this repeated field. + + + If the field type is + a message type, each element is also cloned; otherwise, it is + assumed that the field type is primitive (including string and + bytes, both of which are immutable) and so a simple copy is + equivalent to a deep clone. + + A deep clone of this repeated field. + + + + Adds the entries from the given input stream, decoding them with the specified codec. + + The input stream to read from. + The codec to use in order to read each entry. + + + + Calculates the size of this collection based on the given codec. + + The codec to use when encoding each field. + The number of bytes that would be written to a by , + using the same codec. + + + + Writes the contents of this collection to the given , + encoding each value using the specified codec. + + The output stream to write to. + The codec to use when encoding each value. + + + + Gets and sets the capacity of the RepeatedField's internal array. WHen set, the internal array is reallocated to the given capacity. + The new value is less than Count -or- when Count is less than 0. + + + + + Adds the specified item to the collection. + + The item to add. + + + + Removes all items from the collection. + + + + + Determines whether this collection contains the given item. + + The item to find. + true if this collection contains the given item; false otherwise. + + + + Copies this collection to the given array. + + The array to copy to. + The first index of the array to copy to. + + + + Removes the specified item from the collection + + The item to remove. + true if the item was found and removed; false otherwise. + + + + Gets the number of elements contained in the collection. + + + + + Gets a value indicating whether the collection is read-only. + + + + + Adds all of the specified values into this collection. + + The values to add to this collection. + + + + Adds all of the specified values into this collection. This method is present to + allow repeated fields to be constructed from queries within collection initializers. + Within non-collection-initializer code, consider using the equivalent + method instead for clarity. + + The values to add to this collection. + + + + Returns an enumerator that iterates through the collection. + + + An enumerator that can be used to iterate through the collection. + + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Compares this repeated field with another for equality. + + The repeated field to compare this with. + true if refers to an equal repeated field; false otherwise. + + + + Returns the index of the given item within the collection, or -1 if the item is not + present. + + The item to find in the collection. + The zero-based index of the item, or -1 if it is not found. + + + + Inserts the given item at the specified index. + + The index at which to insert the item. + The item to insert. + + + + Removes the item at the given index. + + The zero-based index of the item to remove. + + + + Returns a string representation of this repeated field, in the same + way as it would be represented by the default JSON formatter. + + + + + Gets or sets the item at the specified index. + + + The element at the specified index. + + The zero-based index of the element to get or set. + The item at the specified index. + + + + Extension methods for , effectively providing + the familiar members from previous desktop framework versions while + targeting the newer releases, .NET Core etc. + + + + + Returns the public getter of a property, or null if there is no such getter + (either because it's read-only, or the getter isn't public). + + + + + Returns the public setter of a property, or null if there is no such setter + (either because it's write-only, or the setter isn't public). + + + + + Provides extension methods on Type that just proxy to TypeInfo. + These are used to support the new type system from .NET 4.5, without + having calls to GetTypeInfo all over the place. While the methods here are meant to be + broadly compatible with the desktop framework, there are some subtle differences in behaviour - but + they're not expected to affect our use cases. While the class is internal, that should be fine: we can + evaluate each new use appropriately. + + + + + See https://msdn.microsoft.com/en-us/library/system.type.isassignablefrom + + + + + Returns a representation of the public property associated with the given name in the given type, + including inherited properties or null if there is no such public property. + Here, "public property" means a property where either the getter, or the setter, or both, is public. + + + + + Returns a representation of the public method associated with the given name in the given type, + including inherited methods. + + + This has a few differences compared with Type.GetMethod in the desktop framework. It will throw + if there is an ambiguous match even between a private method and a public one, but it *won't* throw + if there are two overloads at different levels in the type hierarchy (e.g. class Base declares public void Foo(int) and + class Child : Base declares public void Foo(long)). + + One type in the hierarchy declared more than one method with the same name + + + + Represents a non-generic extension definition. This API is experimental and subject to change. + + + + + Internal use. Creates a new extension with the specified field number. + + + + + Gets the field number of this extension + + + + + Represents a type-safe extension identifier used for getting and setting single extension values in instances. + This API is experimental and subject to change. + + The message type this field applies to + The field value type of this extension + + + + Creates a new extension identifier with the specified field number and codec + + + + + Represents a type-safe extension identifier used for getting repeated extension values in instances. + This API is experimental and subject to change. + + The message type this field applies to + The repeated field value type of this extension + + + + Creates a new repeated extension identifier with the specified field number and codec + + + + + Provides extensions to messages while parsing. This API is experimental and subject to change. + + + + + Creates a new empty extension registry + + + + + Gets the total number of extensions in this extension registry + + + + + Returns whether the registry is readonly + + + + + Adds the specified extension to the registry + + + + + Adds the specified extensions to the registry + + + + + Clears the registry of all values + + + + + Gets whether the extension registry contains the specified extension + + + + + Copies the arrays in the registry set to the specified array at the specified index + + The array to copy to + The array index to start at + + + + Returns an enumerator to enumerate through the items in the registry + + Returns an enumerator for the extensions in this registry + + + + Removes the specified extension from the set + + The extension + true if the extension was removed, otherwise false + + + + Clones the registry into a new registry + + + + + Methods for managing s with null checking. + + Most users will not use this class directly and its API is experimental and subject to change. + + + + + Gets the value of the specified extension + + + + + Gets the value of the specified repeated extension or null if it doesn't exist in this set + + + + + Gets the value of the specified repeated extension, registering it if it doesn't exist + + + + + Sets the value of the specified extension. This will make a new instance of ExtensionSet if the set is null. + + + + + Gets whether the value of the specified extension is set + + + + + Clears the value of the specified extension + + + + + Clears the value of the specified extension + + + + + Tries to merge a field from the coded input, returning true if the field was merged. + If the set is null or the field was not otherwise merged, this returns false. + + + + + Merges the second set into the first set, creating a new instance if first is null + + + + + Clones the set into a new set. If the set is null, this returns null + + + + + Used for keeping track of extensions in messages. + methods route to this set. + + Most users will not need to use this class directly + + The message type that extensions in this set target + + + + Gets a hash code of the set + + + + + Returns whether this set is equal to the other object + + + + + Calculates the size of this extension set + + + + + Writes the extension values in this set to the output stream + + + + + Factory methods for . + + + + + Retrieves a codec suitable for a string field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a bytes field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a bool field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an int32 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an sint32 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a fixed32 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an sfixed32 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a uint32 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an int64 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an sint64 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a fixed64 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an sfixed64 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a uint64 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a float field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a double field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an enum field with the given tag. + + The tag. + A conversion function from to the enum type. + A conversion function from the enum type to . + A codec for the given tag. + + + + Retrieves a codec suitable for a string field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a bytes field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a bool field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an int32 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an sint32 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a fixed32 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an sfixed32 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a uint32 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an int64 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an sint64 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a fixed64 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an sfixed64 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a uint64 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a float field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a double field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an enum field with the given tag. + + The tag. + A conversion function from to the enum type. + A conversion function from the enum type to . + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a message field with the given tag. + + The tag. + A parser to use for the message type. + A codec for the given tag. + + + + Retrieves a codec suitable for a group field with the given tag. + + The start group tag. + The end group tag. + A parser to use for the group message type. + A codec for given tag + + + + Creates a codec for a wrapper type of a class - which must be string or ByteString. + + + + + Creates a codec for a wrapper type of a struct - which must be Int32, Int64, UInt32, UInt64, + Bool, Single or Double. + + + + + Helper code to create codecs for wrapper types. + + + Somewhat ugly with all the static methods, but the conversions involved to/from nullable types make it + slightly tricky to improve. So long as we keep the public API (ForClassWrapper, ForStructWrapper) in place, + we can refactor later if we come up with something cleaner. + + + + + Returns a field codec which effectively wraps a value of type T in a message. + + + + + + + An encode/decode pair for a single field. This effectively encapsulates + all the information needed to read or write the field value from/to a coded + stream. + + + This class is public and has to be as it is used by generated code, but its public + API is very limited - just what the generated code needs to call directly. + + + + This never writes default values to the stream, and does not address "packedness" + in repeated fields itself, other than to know whether or not the field *should* be packed. + + + + + Merges an input stream into a value + + + + + Merges a value into a reference to another value, returning a boolean if the value was set + + + + + Returns a delegate to write a value (unconditionally) to a coded output stream. + + + + + Returns the size calculator for just a value. + + + + + Returns a delegate to read a value from a coded input stream. It is assumed that + the stream is already positioned on the appropriate tag. + + + + + Returns a delegate to merge a value from a coded input stream. + It is assumed that the stream is already positioned on the appropriate tag + + + + + Returns a delegate to merge two values together. + + + + + Returns the fixed size for an entry, or 0 if sizes vary. + + + + + Gets the tag of the codec. + + + The tag of the codec. + + + + + Gets the end tag of the codec or 0 if there is no end tag + + + The end tag of the codec. + + + + + Default value for this codec. Usually the same for every instance of the same type, but + for string/ByteString wrapper fields the codec's default value is null, whereas for + other string/ByteString fields it's "" or ByteString.Empty. + + + The default value of the codec's type. + + + + + Write a tag and the given value, *if* the value is not the default. + + + + + Reads a value of the codec type from the given . + + The input stream to read from. + The value read from the stream. + + + + Calculates the size required to write the given value, with a tag, + if the value is not the default. + + + + + A tree representation of a FieldMask. Each leaf node in this tree represent + a field path in the FieldMask. + + For example, FieldMask "foo.bar,foo.baz,bar.baz" as a tree will be: + + [root] -+- foo -+- bar + | | + | +- baz + | + +- bar --- baz + + + By representing FieldMasks with this tree structure we can easily convert + a FieldMask to a canonical form, merge two FieldMasks, calculate the + intersection to two FieldMasks and traverse all fields specified by the + FieldMask in a message tree. + + + + + Creates an empty FieldMaskTree. + + + + + Creates a FieldMaskTree for a given FieldMask. + + + + + Adds a field path to the tree. In a FieldMask, every field path matches the + specified field as well as all its sub-fields. For example, a field path + "foo.bar" matches field "foo.bar" and also "foo.bar.baz", etc. When adding + a field path to the tree, redundant sub-paths will be removed. That is, + after adding "foo.bar" to the tree, "foo.bar.baz" will be removed if it + exists, which will turn the tree node for "foo.bar" to a leaf node. + Likewise, if the field path to add is a sub-path of an existing leaf node, + nothing will be changed in the tree. + + + + + Merges all field paths in a FieldMask into this tree. + + + + + Converts this tree to a FieldMask. + + + + + Gathers all field paths in a sub-tree. + + + + + Adds the intersection of this tree with the given to . + + + + + Merges all fields specified by this FieldMaskTree from to . + + + + + Merges all fields specified by a sub-tree from to . + + + + + Class containing helpful workarounds for various platform compatibility + + + + + A message type that has a custom string format for diagnostic purposes. + + + + Calling on a generated message type normally + returns the JSON representation. If a message type implements this interface, + then the method will be called instead of the regular + JSON formatting code, but only when ToString() is called either on the message itself + or on another message which contains it. This does not affect the normal JSON formatting of + the message. + + + For example, if you create a proto message representing a GUID, the internal + representation may be a bytes field or four fixed32 fields. However, when debugging + it may be more convenient to see a result in the same format as provides. + + This interface extends to avoid it accidentally being implemented + on types other than messages, where it would not be used by anything in the framework. + + + + + Returns a string representation of this object, for diagnostic purposes. + + + This method is called when a message is formatted as part of a + call. It does not affect the JSON representation used by other than + in calls to . While it is recommended + that the result is valid JSON, this is never assumed by the Protobuf library. + + A string representation of this object, for diagnostic purposes. + + + + Generic interface for a deeply cloneable type. + + + + All generated messages implement this interface, but so do some non-message types. + Additionally, due to the type constraint on T in , + it is simpler to keep this as a separate interface. + + + The type itself, returned by the method. + + + + Creates a deep clone of this object. + + A deep clone of this object. + + + + Generic interface for a Protocol Buffers message containing one or more extensions, where the type parameter is expected to be the same type as the implementation class. + This interface is experiemental and is subject to change. + + + + + Gets the value of the specified extension + + + + + Gets the value of the specified repeated extension or null if the extension isn't registered in this set. + For a version of this method that never returns null, use + + + + + Gets the value of the specified repeated extension, registering it if it hasn't already been registered. + + + + + Sets the value of the specified extension + + + + + Gets whether the value of the specified extension is set + + + + + Clears the value of the specified extension + + + + + Clears the value of the specified repeated extension + + + + + Interface for a Protocol Buffers message, supporting + basic operations required for serialization. + + + + + Merges the data from the specified coded input stream with the current message. + + See the user guide for precise merge semantics. + + + + + Writes the data to the given coded output stream. + + Coded output stream to write the data to. Must not be null. + + + + Calculates the size of this message in Protocol Buffer wire format, in bytes. + + The number of bytes required to write this message + to a coded output stream. + + + + Descriptor for this message. All instances are expected to return the same descriptor, + and for generated types this will be an explicitly-implemented member, returning the + same value as the static property declared on the type. + + + + + Generic interface for a Protocol Buffers message, + where the type parameter is expected to be the same type as + the implementation class. + + The message type. + + + + Merges the given message into this one. + + See the user guide for precise merge semantics. + The message to merge with this one. Must not be null. + + + + Thrown when an attempt is made to parse invalid JSON, e.g. using + a non-string property key, or including a redundant comma. Parsing a protocol buffer + message represented in JSON using can throw both this + exception and depending on the situation. This + exception is only thrown for "pure JSON" errors, whereas InvalidProtocolBufferException + is thrown when the JSON may be valid in and of itself, but cannot be parsed as a protocol buffer + message. + + + + + Thrown when a protocol message being parsed is invalid in some way, + e.g. it contains a malformed varint or a negative byte length. + + + + + Creates an exception for an error condition of an invalid tag being encountered. + + + + + Reflection-based converter from messages to JSON. + + + + Instances of this class are thread-safe, with no mutable state. + + + This is a simple start to get JSON formatting working. As it's reflection-based, + it's not as quick as baking calls into generated messages - but is a simpler implementation. + (This code is generally not heavily optimized.) + + + + + + Returns a formatter using the default settings. + + + + + The JSON representation of the first 160 characters of Unicode. + Empty strings are replaced by the static constructor. + + + + + Creates a new formatted with the given settings. + + The settings. + + + + Formats the specified message as JSON. + + The message to format. + The formatted message. + + + + Formats the specified message as JSON. + + The message to format. + The TextWriter to write the formatted message to. + The formatted message. + + + + Converts a message to JSON for diagnostic purposes with no extra context. + + + + This differs from calling on the default JSON + formatter in its handling of . As no type registry is available + in calls, the normal way of resolving the type of + an Any message cannot be applied. Instead, a JSON property named @value + is included with the base64 data from the property of the message. + + The value returned by this method is only designed to be used for diagnostic + purposes. It may not be parsable by , and may not be parsable + by other Protocol Buffer implementations. + + The message to format for diagnostic purposes. + The diagnostic-only JSON representation of the message + + + + Writes a single value to the given writer as JSON. Only types understood by + Protocol Buffers can be written in this way. This method is only exposed for + advanced use cases; most users should be using + or . + + The writer to write the value to. Must not be null. + The value to write. May be null. + + + + Central interception point for well-known type formatting. Any well-known types which + don't need special handling can fall back to WriteMessage. We avoid assuming that the + values are using the embedded well-known types, in order to allow for dynamic messages + in the future. + + + + + Writes a string (including leading and trailing double quotes) to a builder, escaping as required. + + + Other than surrogate pair handling, this code is mostly taken from src/google/protobuf/util/internal/json_escaping.cc. + + + + + Settings controlling JSON formatting. + + + + + Default settings, as used by + + + + + Whether fields whose values are the default for the field type (e.g. 0 for integers) + should be formatted (true) or omitted (false). + + + + + The type registry used to format messages. + + + + + Whether to format enums as ints. Defaults to false. + + + + + Creates a new object with the specified formatting of default values + and an empty type registry. + + true if default values (0, empty strings etc) should be formatted; false otherwise. + + + + Creates a new object with the specified formatting of default values + and type registry. + + true if default values (0, empty strings etc) should be formatted; false otherwise. + The to use when formatting messages. + + + + Creates a new object with the specified parameters. + + true if default values (0, empty strings etc) should be formatted; false otherwise. + The to use when formatting messages. TypeRegistry.Empty will be used if it is null. + true to format the enums as integers; false to format enums as enum names. + + + + Creates a new object with the specified formatting of default values and the current settings. + + true if default values (0, empty strings etc) should be formatted; false otherwise. + + + + Creates a new object with the specified type registry and the current settings. + + The to use when formatting messages. + + + + Creates a new object with the specified enums formatting option and the current settings. + + true to format the enums as integers; false to format enums as enum names. + + + + Reflection-based converter from JSON to messages. + + + + Instances of this class are thread-safe, with no mutable state. + + + This is a simple start to get JSON parsing working. As it's reflection-based, + it's not as quick as baking calls into generated messages - but is a simpler implementation. + (This code is generally not heavily optimized.) + + + + + + Returns a formatter using the default settings. + + + + + Creates a new formatted with the given settings. + + The settings. + + + + Parses and merges the information into the given message. + + The message to merge the JSON information into. + The JSON to parse. + + + + Parses JSON read from and merges the information into the given message. + + The message to merge the JSON information into. + Reader providing the JSON to parse. + + + + Merges the given message using data from the given tokenizer. In most cases, the next + token should be a "start object" token, but wrapper types and nullity can invalidate + that assumption. This is implemented as an LL(1) recursive descent parser over the stream + of tokens provided by the tokenizer. This token stream is assumed to be valid JSON, with the + tokenizer performing that validation - but not every token stream is valid "protobuf JSON". + + + + + Parses into a new message. + + The type of message to create. + The JSON to parse. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Parses JSON read from into a new message. + + The type of message to create. + Reader providing the JSON to parse. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Parses into a new message. + + The JSON to parse. + Descriptor of message type to parse. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Parses JSON read from into a new message. + + Reader providing the JSON to parse. + Descriptor of message type to parse. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Creates a new instance of the message type for the given field. + + + + + Checks that any infinite/NaN values originated from the correct text. + This corrects the lenient whitespace handling of double.Parse/float.Parse, as well as the + way that Mono parses out-of-range values as infinity. + + + + + Settings controlling JSON parsing. + + + + + Default settings, as used by . This has the same default + recursion limit as , and an empty type registry. + + + + + The maximum depth of messages to parse. Note that this limit only applies to parsing + messages, not collections - so a message within a collection within a message only counts as + depth 2, not 3. + + + + + The type registry used to parse messages. + + + + + Whether the parser should ignore unknown fields (true) or throw an exception when + they are encountered (false). + + + + + Creates a new object with the specified recursion limit. + + The maximum depth of messages to parse + + + + Creates a new object with the specified recursion limit and type registry. + + The maximum depth of messages to parse + The type registry used to parse messages + + + + Creates a new object set to either ignore unknown fields, or throw an exception + when unknown fields are encountered. + + true if unknown fields should be ignored when parsing; false to throw an exception. + + + + Creates a new object based on this one, but with the specified recursion limit. + + The new recursion limit. + + + + Creates a new object based on this one, but with the specified type registry. + + The new type registry. Must not be null. + + + + Simple but strict JSON tokenizer, rigidly following RFC 7159. + + + + This tokenizer is stateful, and only returns "useful" tokens - names, values etc. + It does not create tokens for the separator between names and values, or for the comma + between values. It validates the token stream as it goes - so callers can assume that the + tokens it produces are appropriate. For example, it would never produce "start object, end array." + + Implementation details: the base class handles single token push-back and + Not thread-safe. + + + + + Creates a tokenizer that reads from the given text reader. + + + + + Creates a tokenizer that first replays the given list of tokens, then continues reading + from another tokenizer. Note that if the returned tokenizer is "pushed back", that does not push back + on the continuation tokenizer, or vice versa. Care should be taken when using this method - it was + created for the sake of Any parsing. + + + + + Returns the depth of the stack, purely in objects (not collections). + Informally, this is the number of remaining unclosed '{' characters we have. + + + + + Returns the next JSON token in the stream. An EndDocument token is returned to indicate the end of the stream, + after which point Next() should not be called again. + + This implementation provides single-token buffering, and calls if there is no buffered token. + The next token in the stream. This is never null. + This method is called after an EndDocument token has been returned + The input text does not comply with RFC 7159 + + + + Returns the next JSON token in the stream, when requested by the base class. (The method delegates + to this if it doesn't have a buffered token.) + + This method is called after an EndDocument token has been returned + The input text does not comply with RFC 7159 + + + + Skips the value we're about to read. This must only be called immediately after reading a property name. + If the value is an object or an array, the complete object/array is skipped. + + + + + Tokenizer which first exhausts a list of tokens, then consults another tokenizer. + + + + + Tokenizer which does all the *real* work of parsing JSON. + + + + + This method essentially just loops through characters skipping whitespace, validating and + changing state (e.g. from ObjectBeforeColon to ObjectAfterColon) + until it reaches something which will be a genuine token (e.g. a start object, or a value) at which point + it returns the token. Although the method is large, it would be relatively hard to break down further... most + of it is the large switch statement, which sometimes returns and sometimes doesn't. + + + + + Reads a string token. It is assumed that the opening " has already been read. + + + + + Reads an escaped character. It is assumed that the leading backslash has already been read. + + + + + Reads an escaped Unicode 4-nybble hex sequence. It is assumed that the leading \u has already been read. + + + + + Consumes a text-only literal, throwing an exception if the read text doesn't match it. + It is assumed that the first letter of the literal has already been read. + + + + + Validates that we're in a valid state to read a value (using the given error prefix if necessary) + and changes the state to the appropriate one, e.g. ObjectAfterColon to ObjectAfterProperty. + + + + + Pops the top-most container, and sets the state to the appropriate one for the end of a value + in the parent container. + + + + + Possible states of the tokenizer. + + + This is a flags enum purely so we can simply and efficiently represent a set of valid states + for checking. + + Each is documented with an example, + where ^ represents the current position within the text stream. The examples all use string values, + but could be any value, including nested objects/arrays. + The complete state of the tokenizer also includes a stack to indicate the contexts (arrays/objects). + Any additional notional state of "AfterValue" indicates that a value has been completed, at which + point there's an immediate transition to ExpectedEndOfDocument, ObjectAfterProperty or ArrayAfterValue. + + + These states were derived manually by reading RFC 7159 carefully. + + + + + + ^ { "foo": "bar" } + Before the value in a document. Next states: ObjectStart, ArrayStart, "AfterValue" + + + + + { "foo": "bar" } ^ + After the value in a document. Next states: ReaderExhausted + + + + + { "foo": "bar" } ^ (and already read to the end of the reader) + Terminal state. + + + + + { ^ "foo": "bar" } + Before the *first* property in an object. + Next states: + "AfterValue" (empty object) + ObjectBeforeColon (read a name) + + + + + { "foo" ^ : "bar", "x": "y" } + Next state: ObjectAfterColon + + + + + { "foo" : ^ "bar", "x": "y" } + Before any property other than the first in an object. + (Equivalently: after any property in an object) + Next states: + "AfterValue" (value is simple) + ObjectStart (value is object) + ArrayStart (value is array) + + + + + { "foo" : "bar" ^ , "x" : "y" } + At the end of a property, so expecting either a comma or end-of-object + Next states: ObjectAfterComma or "AfterValue" + + + + + { "foo":"bar", ^ "x":"y" } + Read the comma after the previous property, so expecting another property. + This is like ObjectStart, but closing brace isn't valid here + Next state: ObjectBeforeColon. + + + + + [ ^ "foo", "bar" ] + Before the *first* value in an array. + Next states: + "AfterValue" (read a value) + "AfterValue" (end of array; will pop stack) + + + + + [ "foo" ^ , "bar" ] + After any value in an array, so expecting either a comma or end-of-array + Next states: ArrayAfterComma or "AfterValue" + + + + + [ "foo", ^ "bar" ] + After a comma in an array, so there *must* be another value (simple or complex). + Next states: "AfterValue" (simple value), StartObject, StartArray + + + + + Wrapper around a text reader allowing small amounts of buffering and location handling. + + + + + The buffered next character, if we have one. + + + + + Returns the next character in the stream, or null if we have reached the end. + + + + + + Creates a new exception appropriate for the current state of the reader. + + + + + Stream implementation which proxies another stream, only allowing a certain amount + of data to be read. Note that this is only used to read delimited streams, so it + doesn't attempt to implement everything. + + + + + Extension methods on and . + + + + + Merges data from the given byte array into an existing message. + + The message to merge the data into. + The data to merge, which must be protobuf-encoded binary data. + + + + Merges data from the given byte array slice into an existing message. + + The message to merge the data into. + The data containing the slice to merge, which must be protobuf-encoded binary data. + The offset of the slice to merge. + The length of the slice to merge. + + + + Merges data from the given byte string into an existing message. + + The message to merge the data into. + The data to merge, which must be protobuf-encoded binary data. + + + + Merges data from the given stream into an existing message. + + The message to merge the data into. + Stream containing the data to merge, which must be protobuf-encoded binary data. + + + + Merges length-delimited data from the given stream into an existing message. + + + The stream is expected to contain a length and then the data. Only the amount of data + specified by the length will be consumed. + + The message to merge the data into. + Stream containing the data to merge, which must be protobuf-encoded binary data. + + + + Converts the given message into a byte array in protobuf encoding. + + The message to convert. + The message data as a byte array. + + + + Writes the given message data to the given stream in protobuf encoding. + + The message to write to the stream. + The stream to write to. + + + + Writes the length and then data of the given message to a stream. + + The message to write. + The output stream to write to. + + + + Converts the given message into a byte string in protobuf encoding. + + The message to convert. + The message data as a byte string. + + + + Checks if all required fields in a message have values set. For proto3 messages, this returns true + + + + + A general message parser, typically used by reflection-based code as all the methods + return simple . + + + + + Creates a template instance ready for population. + + An empty message. + + + + Parses a message from a byte array. + + The byte array containing the message. Must not be null. + The newly parsed message. + + + + Parses a message from a byte array slice. + + The byte array containing the message. Must not be null. + The offset of the slice to parse. + The length of the slice to parse. + The newly parsed message. + + + + Parses a message from the given byte string. + + The data to parse. + The parsed message. + + + + Parses a message from the given stream. + + The stream to parse. + The parsed message. + + + + Parses a length-delimited message from the given stream. + + + The stream is expected to contain a length and then the data. Only the amount of data + specified by the length will be consumed. + + The stream to parse. + The parsed message. + + + + Parses a message from the given coded input stream. + + The stream to parse. + The parsed message. + + + + Parses a message from the given JSON. + + The JSON to parse. + The parsed message. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Creates a new message parser which optionally discards unknown fields when parsing. + + Whether or not to discard unknown fields when parsing. + A newly configured message parser. + + + + Creates a new message parser which registers extensions from the specified registry upon creating the message instance + + The extensions to register + A newly configured message parser. + + + + A parser for a specific message type. + + +

+ This delegates most behavior to the + implementation within the original type, but + provides convenient overloads to parse from a variety of sources. +

+

+ Most applications will never need to create their own instances of this type; + instead, use the static Parser property of a generated message type to obtain a + parser for that type. +

+
+ The type of message to be parsed. +
+ + + Creates a new parser. + + + The factory method is effectively an optimization over using a generic constraint + to require a parameterless constructor: delegates are significantly faster to execute. + + Function to invoke when a new, empty message is required. + + + + Creates a template instance ready for population. + + An empty message. + + + + Parses a message from a byte array. + + The byte array containing the message. Must not be null. + The newly parsed message. + + + + Parses a message from a byte array slice. + + The byte array containing the message. Must not be null. + The offset of the slice to parse. + The length of the slice to parse. + The newly parsed message. + + + + Parses a message from the given byte string. + + The data to parse. + The parsed message. + + + + Parses a message from the given stream. + + The stream to parse. + The parsed message. + + + + Parses a length-delimited message from the given stream. + + + The stream is expected to contain a length and then the data. Only the amount of data + specified by the length will be consumed. + + The stream to parse. + The parsed message. + + + + Parses a message from the given coded input stream. + + The stream to parse. + The parsed message. + + + + Parses a message from the given JSON. + + The JSON to parse. + The parsed message. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Creates a new message parser which optionally discards unknown fields when parsing. + + Whether or not to discard unknown fields when parsing. + A newly configured message parser. + + + + Creates a new message parser which registers extensions from the specified registry upon creating the message instance + + The extensions to register + A newly configured message parser. + + + + Struct used to hold the keys for the fieldByNumber table in DescriptorPool and the keys for the + extensionByNumber table in ExtensionRegistry. + + + + + Helper methods for throwing exceptions when preconditions are not met. + + + This class is used internally and by generated code; it is not particularly + expected to be used from application code, although nothing prevents it + from being used that way. + + + + + Throws an ArgumentNullException if the given value is null, otherwise + return the value to the caller. + + + + + Throws an ArgumentNullException if the given value is null, otherwise + return the value to the caller. + + + This is equivalent to but without the type parameter + constraint. In most cases, the constraint is useful to prevent you from calling CheckNotNull + with a value type - but it gets in the way if either you want to use it with a nullable + value type, or you want to use it with an unconstrained type parameter. + + + + + Container for a set of custom options specified within a message, field etc. + + + + This type is publicly immutable, but internally mutable. It is only populated + by the descriptor parsing code - by the time any user code is able to see an instance, + it will be fully initialized. + + + If an option is requested using the incorrect method, an answer may still be returned: all + of the numeric types are represented internally using 64-bit integers, for example. It is up to + the caller to ensure that they make the appropriate method call for the option they're interested in. + Note that enum options are simply stored as integers, so the value should be fetched using + and then cast appropriately. + + + Repeated options are currently not supported. Asking for a single value of an option + which was actually repeated will return the last value, except for message types where + all the set values are merged together. + + + + + + Retrieves a Boolean value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 32-bit integer value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 64-bit integer value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves an unsigned 32-bit integer value for the specified option field, + assuming a fixed-length representation. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves an unsigned 64-bit integer value for the specified option field, + assuming a fixed-length representation. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 32-bit integer value for the specified option field, + assuming a fixed-length representation. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 64-bit integer value for the specified option field, + assuming a fixed-length representation. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 32-bit integer value for the specified option field, + assuming a zigzag encoding. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 64-bit integer value for the specified option field, + assuming a zigzag encoding. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves an unsigned 32-bit integer value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves an unsigned 64-bit integer value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a 32-bit floating point value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a 64-bit floating point value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a string value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a bytes value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a message value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + Holder for reflection information generated from google/protobuf/descriptor.proto + + + File descriptor for google/protobuf/descriptor.proto + + + + The protocol compiler can output a FileDescriptorSet containing the .proto + files it parses. + + + + Field number for the "file" field. + + + + Describes a complete .proto file. + + + + Field number for the "name" field. + + + + file name, relative to root of source tree + + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "package" field. + + + + e.g. "foo", "foo.bar", etc. + + + + Gets whether the "package" field is set + + + Clears the value of the "package" field + + + Field number for the "dependency" field. + + + + Names of files imported by this file. + + + + Field number for the "public_dependency" field. + + + + Indexes of the public imported files in the dependency list above. + + + + Field number for the "weak_dependency" field. + + + + Indexes of the weak imported files in the dependency list. + For Google-internal migration only. Do not use. + + + + Field number for the "message_type" field. + + + + All top-level definitions in this file. + + + + Field number for the "enum_type" field. + + + Field number for the "service" field. + + + Field number for the "extension" field. + + + Field number for the "options" field. + + + Field number for the "source_code_info" field. + + + + This field contains optional information about the original source code. + You may safely remove this entire field without harming runtime + functionality of the descriptors -- the information is needed only by + development tools. + + + + Field number for the "syntax" field. + + + + The syntax of the proto file. + The supported values are "proto2" and "proto3". + + + + Gets whether the "syntax" field is set + + + Clears the value of the "syntax" field + + + + Describes a message type. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "field" field. + + + Field number for the "extension" field. + + + Field number for the "nested_type" field. + + + Field number for the "enum_type" field. + + + Field number for the "extension_range" field. + + + Field number for the "oneof_decl" field. + + + Field number for the "options" field. + + + Field number for the "reserved_range" field. + + + Field number for the "reserved_name" field. + + + + Reserved field names, which may not be used by fields in the same message. + A given name may only be reserved once. + + + + Container for nested types declared in the DescriptorProto message type. + + + Field number for the "start" field. + + + + Inclusive. + + + + Gets whether the "start" field is set + + + Clears the value of the "start" field + + + Field number for the "end" field. + + + + Exclusive. + + + + Gets whether the "end" field is set + + + Clears the value of the "end" field + + + Field number for the "options" field. + + + + Range of reserved tag numbers. Reserved tag numbers may not be used by + fields or extension ranges in the same message. Reserved ranges may + not overlap. + + + + Field number for the "start" field. + + + + Inclusive. + + + + Gets whether the "start" field is set + + + Clears the value of the "start" field + + + Field number for the "end" field. + + + + Exclusive. + + + + Gets whether the "end" field is set + + + Clears the value of the "end" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + + Describes a field within a message. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "number" field. + + + Gets whether the "number" field is set + + + Clears the value of the "number" field + + + Field number for the "label" field. + + + Gets whether the "label" field is set + + + Clears the value of the "label" field + + + Field number for the "type" field. + + + + If type_name is set, this need not be set. If both this and type_name + are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP. + + + + Gets whether the "type" field is set + + + Clears the value of the "type" field + + + Field number for the "type_name" field. + + + + For message and enum types, this is the name of the type. If the name + starts with a '.', it is fully-qualified. Otherwise, C++-like scoping + rules are used to find the type (i.e. first the nested types within this + message are searched, then within the parent, on up to the root + namespace). + + + + Gets whether the "type_name" field is set + + + Clears the value of the "type_name" field + + + Field number for the "extendee" field. + + + + For extensions, this is the name of the type being extended. It is + resolved in the same manner as type_name. + + + + Gets whether the "extendee" field is set + + + Clears the value of the "extendee" field + + + Field number for the "default_value" field. + + + + For numeric types, contains the original text representation of the value. + For booleans, "true" or "false". + For strings, contains the default text contents (not escaped in any way). + For bytes, contains the C escaped value. All bytes >= 128 are escaped. + TODO(kenton): Base-64 encode? + + + + Gets whether the "default_value" field is set + + + Clears the value of the "default_value" field + + + Field number for the "oneof_index" field. + + + + If set, gives the index of a oneof in the containing type's oneof_decl + list. This field is a member of that oneof. + + + + Gets whether the "oneof_index" field is set + + + Clears the value of the "oneof_index" field + + + Field number for the "json_name" field. + + + + JSON name of this field. The value is set by protocol compiler. If the + user has set a "json_name" option on this field, that option's value + will be used. Otherwise, it's deduced from the field's name by converting + it to camelCase. + + + + Gets whether the "json_name" field is set + + + Clears the value of the "json_name" field + + + Field number for the "options" field. + + + Field number for the "proto3_optional" field. + + + + If true, this is a proto3 "optional". When a proto3 field is optional, it + tracks presence regardless of field type. + + When proto3_optional is true, this field must be belong to a oneof to + signal to old proto3 clients that presence is tracked for this field. This + oneof is known as a "synthetic" oneof, and this field must be its sole + member (each proto3 optional field gets its own synthetic oneof). Synthetic + oneofs exist in the descriptor only, and do not generate any API. Synthetic + oneofs must be ordered after all "real" oneofs. + + For message fields, proto3_optional doesn't create any semantic change, + since non-repeated message fields always track presence. However it still + indicates the semantic detail of whether the user wrote "optional" or not. + This can be useful for round-tripping the .proto file. For consistency we + give message fields a synthetic oneof also, even though it is not required + to track presence. This is especially important because the parser can't + tell if a field is a message or an enum, so it must always create a + synthetic oneof. + + Proto2 optional fields do not set this flag, because they already indicate + optional with `LABEL_OPTIONAL`. + + + + Gets whether the "proto3_optional" field is set + + + Clears the value of the "proto3_optional" field + + + Container for nested types declared in the FieldDescriptorProto message type. + + + + 0 is reserved for errors. + Order is weird for historical reasons. + + + + + Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if + negative values are likely. + + + + + Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if + negative values are likely. + + + + + Tag-delimited aggregate. + Group type is deprecated and not supported in proto3. However, Proto3 + implementations should still be able to parse the group wire format and + treat group fields as unknown fields. + + + + + Length-delimited aggregate. + + + + + New in version 2. + + + + + Uses ZigZag encoding. + + + + + Uses ZigZag encoding. + + + + + 0 is reserved for errors + + + + + Describes a oneof. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "options" field. + + + + Describes an enum type. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "value" field. + + + Field number for the "options" field. + + + Field number for the "reserved_range" field. + + + + Range of reserved numeric values. Reserved numeric values may not be used + by enum values in the same enum declaration. Reserved ranges may not + overlap. + + + + Field number for the "reserved_name" field. + + + + Reserved enum value names, which may not be reused. A given name may only + be reserved once. + + + + Container for nested types declared in the EnumDescriptorProto message type. + + + + Range of reserved numeric values. Reserved values may not be used by + entries in the same enum. Reserved ranges may not overlap. + + Note that this is distinct from DescriptorProto.ReservedRange in that it + is inclusive such that it can appropriately represent the entire int32 + domain. + + + + Field number for the "start" field. + + + + Inclusive. + + + + Gets whether the "start" field is set + + + Clears the value of the "start" field + + + Field number for the "end" field. + + + + Inclusive. + + + + Gets whether the "end" field is set + + + Clears the value of the "end" field + + + + Describes a value within an enum. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "number" field. + + + Gets whether the "number" field is set + + + Clears the value of the "number" field + + + Field number for the "options" field. + + + + Describes a service. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "method" field. + + + Field number for the "options" field. + + + + Describes a method of a service. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "input_type" field. + + + + Input and output type names. These are resolved in the same way as + FieldDescriptorProto.type_name, but must refer to a message type. + + + + Gets whether the "input_type" field is set + + + Clears the value of the "input_type" field + + + Field number for the "output_type" field. + + + Gets whether the "output_type" field is set + + + Clears the value of the "output_type" field + + + Field number for the "options" field. + + + Field number for the "client_streaming" field. + + + + Identifies if client streams multiple client messages + + + + Gets whether the "client_streaming" field is set + + + Clears the value of the "client_streaming" field + + + Field number for the "server_streaming" field. + + + + Identifies if server streams multiple server messages + + + + Gets whether the "server_streaming" field is set + + + Clears the value of the "server_streaming" field + + + Field number for the "java_package" field. + + + + Sets the Java package where classes generated from this .proto will be + placed. By default, the proto package is used, but this is often + inappropriate because proto packages do not normally start with backwards + domain names. + + + + Gets whether the "java_package" field is set + + + Clears the value of the "java_package" field + + + Field number for the "java_outer_classname" field. + + + + If set, all the classes from the .proto file are wrapped in a single + outer class with the given name. This applies to both Proto1 + (equivalent to the old "--one_java_file" option) and Proto2 (where + a .proto always translates to a single class, but you may want to + explicitly choose the class name). + + + + Gets whether the "java_outer_classname" field is set + + + Clears the value of the "java_outer_classname" field + + + Field number for the "java_multiple_files" field. + + + + If set true, then the Java code generator will generate a separate .java + file for each top-level message, enum, and service defined in the .proto + file. Thus, these types will *not* be nested inside the outer class + named by java_outer_classname. However, the outer class will still be + generated to contain the file's getDescriptor() method as well as any + top-level extensions defined in the file. + + + + Gets whether the "java_multiple_files" field is set + + + Clears the value of the "java_multiple_files" field + + + Field number for the "java_generate_equals_and_hash" field. + + + + This option does nothing. + + + + Gets whether the "java_generate_equals_and_hash" field is set + + + Clears the value of the "java_generate_equals_and_hash" field + + + Field number for the "java_string_check_utf8" field. + + + + If set true, then the Java2 code generator will generate code that + throws an exception whenever an attempt is made to assign a non-UTF-8 + byte sequence to a string field. + Message reflection will do the same. + However, an extension field still accepts non-UTF-8 byte sequences. + This option has no effect on when used with the lite runtime. + + + + Gets whether the "java_string_check_utf8" field is set + + + Clears the value of the "java_string_check_utf8" field + + + Field number for the "optimize_for" field. + + + Gets whether the "optimize_for" field is set + + + Clears the value of the "optimize_for" field + + + Field number for the "go_package" field. + + + + Sets the Go package where structs generated from this .proto will be + placed. If omitted, the Go package will be derived from the following: + - The basename of the package import path, if provided. + - Otherwise, the package statement in the .proto file, if present. + - Otherwise, the basename of the .proto file, without extension. + + + + Gets whether the "go_package" field is set + + + Clears the value of the "go_package" field + + + Field number for the "cc_generic_services" field. + + + + Should generic services be generated in each language? "Generic" services + are not specific to any particular RPC system. They are generated by the + main code generators in each language (without additional plugins). + Generic services were the only kind of service generation supported by + early versions of google.protobuf. + + Generic services are now considered deprecated in favor of using plugins + that generate code specific to your particular RPC system. Therefore, + these default to false. Old code which depends on generic services should + explicitly set them to true. + + + + Gets whether the "cc_generic_services" field is set + + + Clears the value of the "cc_generic_services" field + + + Field number for the "java_generic_services" field. + + + Gets whether the "java_generic_services" field is set + + + Clears the value of the "java_generic_services" field + + + Field number for the "py_generic_services" field. + + + Gets whether the "py_generic_services" field is set + + + Clears the value of the "py_generic_services" field + + + Field number for the "php_generic_services" field. + + + Gets whether the "php_generic_services" field is set + + + Clears the value of the "php_generic_services" field + + + Field number for the "deprecated" field. + + + + Is this file deprecated? + Depending on the target platform, this can emit Deprecated annotations + for everything in the file, or it will be completely ignored; in the very + least, this is a formalization for deprecating files. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "cc_enable_arenas" field. + + + + Enables the use of arenas for the proto messages in this file. This applies + only to generated classes for C++. + + + + Gets whether the "cc_enable_arenas" field is set + + + Clears the value of the "cc_enable_arenas" field + + + Field number for the "objc_class_prefix" field. + + + + Sets the objective c class prefix which is prepended to all objective c + generated classes from this .proto. There is no default. + + + + Gets whether the "objc_class_prefix" field is set + + + Clears the value of the "objc_class_prefix" field + + + Field number for the "csharp_namespace" field. + + + + Namespace for generated classes; defaults to the package. + + + + Gets whether the "csharp_namespace" field is set + + + Clears the value of the "csharp_namespace" field + + + Field number for the "swift_prefix" field. + + + + By default Swift generators will take the proto package and CamelCase it + replacing '.' with underscore and use that to prefix the types/symbols + defined. When this options is provided, they will use this value instead + to prefix the types/symbols defined. + + + + Gets whether the "swift_prefix" field is set + + + Clears the value of the "swift_prefix" field + + + Field number for the "php_class_prefix" field. + + + + Sets the php class prefix which is prepended to all php generated classes + from this .proto. Default is empty. + + + + Gets whether the "php_class_prefix" field is set + + + Clears the value of the "php_class_prefix" field + + + Field number for the "php_namespace" field. + + + + Use this option to change the namespace of php generated classes. Default + is empty. When this option is empty, the package name will be used for + determining the namespace. + + + + Gets whether the "php_namespace" field is set + + + Clears the value of the "php_namespace" field + + + Field number for the "php_metadata_namespace" field. + + + + Use this option to change the namespace of php generated metadata classes. + Default is empty. When this option is empty, the proto file name will be + used for determining the namespace. + + + + Gets whether the "php_metadata_namespace" field is set + + + Clears the value of the "php_metadata_namespace" field + + + Field number for the "ruby_package" field. + + + + Use this option to change the package of ruby generated classes. Default + is empty. When this option is not set, the package name will be used for + determining the ruby package. + + + + Gets whether the "ruby_package" field is set + + + Clears the value of the "ruby_package" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. + See the documentation for the "Options" section above. + + + + Container for nested types declared in the FileOptions message type. + + + + Generated classes can be optimized for speed or code size. + + + + + Generate complete code for parsing, serialization, + + + + + etc. + + + + + Generate code using MessageLite and the lite runtime. + + + + Field number for the "message_set_wire_format" field. + + + + Set true to use the old proto1 MessageSet wire format for extensions. + This is provided for backwards-compatibility with the MessageSet wire + format. You should not use this for any other reason: It's less + efficient, has fewer features, and is more complicated. + + The message must be defined exactly as follows: + message Foo { + option message_set_wire_format = true; + extensions 4 to max; + } + Note that the message cannot have any defined fields; MessageSets only + have extensions. + + All extensions of your type must be singular messages; e.g. they cannot + be int32s, enums, or repeated messages. + + Because this is an option, the above two restrictions are not enforced by + the protocol compiler. + + + + Gets whether the "message_set_wire_format" field is set + + + Clears the value of the "message_set_wire_format" field + + + Field number for the "no_standard_descriptor_accessor" field. + + + + Disables the generation of the standard "descriptor()" accessor, which can + conflict with a field of the same name. This is meant to make migration + from proto1 easier; new code should avoid fields named "descriptor". + + + + Gets whether the "no_standard_descriptor_accessor" field is set + + + Clears the value of the "no_standard_descriptor_accessor" field + + + Field number for the "deprecated" field. + + + + Is this message deprecated? + Depending on the target platform, this can emit Deprecated annotations + for the message, or it will be completely ignored; in the very least, + this is a formalization for deprecating messages. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "map_entry" field. + + + + Whether the message is an automatically generated map entry type for the + maps field. + + For maps fields: + map<KeyType, ValueType> map_field = 1; + The parsed descriptor looks like: + message MapFieldEntry { + option map_entry = true; + optional KeyType key = 1; + optional ValueType value = 2; + } + repeated MapFieldEntry map_field = 1; + + Implementations may choose not to generate the map_entry=true message, but + use a native map in the target language to hold the keys and values. + The reflection APIs in such implementations still need to work as + if the field is a repeated message field. + + NOTE: Do not set the option in .proto files. Always use the maps syntax + instead. The option should only be implicitly set by the proto compiler + parser. + + + + Gets whether the "map_entry" field is set + + + Clears the value of the "map_entry" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Field number for the "ctype" field. + + + + The ctype option instructs the C++ code generator to use a different + representation of the field than it normally would. See the specific + options below. This option is not yet implemented in the open source + release -- sorry, we'll try to include it in a future version! + + + + Gets whether the "ctype" field is set + + + Clears the value of the "ctype" field + + + Field number for the "packed" field. + + + + The packed option can be enabled for repeated primitive fields to enable + a more efficient representation on the wire. Rather than repeatedly + writing the tag and type for each element, the entire array is encoded as + a single length-delimited blob. In proto3, only explicit setting it to + false will avoid using packed encoding. + + + + Gets whether the "packed" field is set + + + Clears the value of the "packed" field + + + Field number for the "jstype" field. + + + + The jstype option determines the JavaScript type used for values of the + field. The option is permitted only for 64 bit integral and fixed types + (int64, uint64, sint64, fixed64, sfixed64). A field with jstype JS_STRING + is represented as JavaScript string, which avoids loss of precision that + can happen when a large value is converted to a floating point JavaScript. + Specifying JS_NUMBER for the jstype causes the generated JavaScript code to + use the JavaScript "number" type. The behavior of the default option + JS_NORMAL is implementation dependent. + + This option is an enum to permit additional types to be added, e.g. + goog.math.Integer. + + + + Gets whether the "jstype" field is set + + + Clears the value of the "jstype" field + + + Field number for the "lazy" field. + + + + Should this field be parsed lazily? Lazy applies only to message-type + fields. It means that when the outer message is initially parsed, the + inner message's contents will not be parsed but instead stored in encoded + form. The inner message will actually be parsed when it is first accessed. + + This is only a hint. Implementations are free to choose whether to use + eager or lazy parsing regardless of the value of this option. However, + setting this option true suggests that the protocol author believes that + using lazy parsing on this field is worth the additional bookkeeping + overhead typically needed to implement it. + + This option does not affect the public interface of any generated code; + all method signatures remain the same. Furthermore, thread-safety of the + interface is not affected by this option; const methods remain safe to + call from multiple threads concurrently, while non-const methods continue + to require exclusive access. + + Note that implementations may choose not to check required fields within + a lazy sub-message. That is, calling IsInitialized() on the outer message + may return true even if the inner message has missing required fields. + This is necessary because otherwise the inner message would have to be + parsed in order to perform the check, defeating the purpose of lazy + parsing. An implementation which chooses not to check required fields + must be consistent about it. That is, for any particular sub-message, the + implementation must either *always* check its required fields, or *never* + check its required fields, regardless of whether or not the message has + been parsed. + + + + Gets whether the "lazy" field is set + + + Clears the value of the "lazy" field + + + Field number for the "deprecated" field. + + + + Is this field deprecated? + Depending on the target platform, this can emit Deprecated annotations + for accessors, or it will be completely ignored; in the very least, this + is a formalization for deprecating fields. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "weak" field. + + + + For Google-internal migration only. Do not use. + + + + Gets whether the "weak" field is set + + + Clears the value of the "weak" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Container for nested types declared in the FieldOptions message type. + + + + Default mode. + + + + + Use the default type. + + + + + Use JavaScript strings. + + + + + Use JavaScript numbers. + + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Field number for the "allow_alias" field. + + + + Set this option to true to allow mapping different tag names to the same + value. + + + + Gets whether the "allow_alias" field is set + + + Clears the value of the "allow_alias" field + + + Field number for the "deprecated" field. + + + + Is this enum deprecated? + Depending on the target platform, this can emit Deprecated annotations + for the enum, or it will be completely ignored; in the very least, this + is a formalization for deprecating enums. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Field number for the "deprecated" field. + + + + Is this enum value deprecated? + Depending on the target platform, this can emit Deprecated annotations + for the enum value, or it will be completely ignored; in the very least, + this is a formalization for deprecating enum values. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Field number for the "deprecated" field. + + + + Is this service deprecated? + Depending on the target platform, this can emit Deprecated annotations + for the service, or it will be completely ignored; in the very least, + this is a formalization for deprecating services. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Field number for the "deprecated" field. + + + + Is this method deprecated? + Depending on the target platform, this can emit Deprecated annotations + for the method, or it will be completely ignored; in the very least, + this is a formalization for deprecating methods. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "idempotency_level" field. + + + Gets whether the "idempotency_level" field is set + + + Clears the value of the "idempotency_level" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Container for nested types declared in the MethodOptions message type. + + + + Is this method side-effect-free (or safe in HTTP parlance), or idempotent, + or neither? HTTP based RPC implementation may choose GET verb for safe + methods, and PUT verb for idempotent methods instead of the default POST. + + + + + implies idempotent + + + + + idempotent, but may have side effects + + + + + A message representing a option the parser does not recognize. This only + appears in options protos created by the compiler::Parser class. + DescriptorPool resolves these when building Descriptor objects. Therefore, + options protos in descriptor objects (e.g. returned by Descriptor::options(), + or produced by Descriptor::CopyTo()) will never have UninterpretedOptions + in them. + + + + Field number for the "name" field. + + + Field number for the "identifier_value" field. + + + + The value of the uninterpreted option, in whatever type the tokenizer + identified it as during parsing. Exactly one of these should be set. + + + + Gets whether the "identifier_value" field is set + + + Clears the value of the "identifier_value" field + + + Field number for the "positive_int_value" field. + + + Gets whether the "positive_int_value" field is set + + + Clears the value of the "positive_int_value" field + + + Field number for the "negative_int_value" field. + + + Gets whether the "negative_int_value" field is set + + + Clears the value of the "negative_int_value" field + + + Field number for the "double_value" field. + + + Gets whether the "double_value" field is set + + + Clears the value of the "double_value" field + + + Field number for the "string_value" field. + + + Gets whether the "string_value" field is set + + + Clears the value of the "string_value" field + + + Field number for the "aggregate_value" field. + + + Gets whether the "aggregate_value" field is set + + + Clears the value of the "aggregate_value" field + + + Container for nested types declared in the UninterpretedOption message type. + + + + The name of the uninterpreted option. Each string represents a segment in + a dot-separated name. is_extension is true iff a segment represents an + extension (denoted with parentheses in options specs in .proto files). + E.g.,{ ["foo", false], ["bar.baz", true], ["qux", false] } represents + "foo.(bar.baz).qux". + + + + Field number for the "name_part" field. + + + Gets whether the "name_part" field is set + + + Clears the value of the "name_part" field + + + Field number for the "is_extension" field. + + + Gets whether the "is_extension" field is set + + + Clears the value of the "is_extension" field + + + + Encapsulates information about the original source file from which a + FileDescriptorProto was generated. + + + + Field number for the "location" field. + + + + A Location identifies a piece of source code in a .proto file which + corresponds to a particular definition. This information is intended + to be useful to IDEs, code indexers, documentation generators, and similar + tools. + + For example, say we have a file like: + message Foo { + optional string foo = 1; + } + Let's look at just the field definition: + optional string foo = 1; + ^ ^^ ^^ ^ ^^^ + a bc de f ghi + We have the following locations: + span path represents + [a,i) [ 4, 0, 2, 0 ] The whole field definition. + [a,b) [ 4, 0, 2, 0, 4 ] The label (optional). + [c,d) [ 4, 0, 2, 0, 5 ] The type (string). + [e,f) [ 4, 0, 2, 0, 1 ] The name (foo). + [g,h) [ 4, 0, 2, 0, 3 ] The number (1). + + Notes: + - A location may refer to a repeated field itself (i.e. not to any + particular index within it). This is used whenever a set of elements are + logically enclosed in a single code segment. For example, an entire + extend block (possibly containing multiple extension definitions) will + have an outer location whose path refers to the "extensions" repeated + field without an index. + - Multiple locations may have the same path. This happens when a single + logical declaration is spread out across multiple places. The most + obvious example is the "extend" block again -- there may be multiple + extend blocks in the same scope, each of which will have the same path. + - A location's span is not always a subset of its parent's span. For + example, the "extendee" of an extension declaration appears at the + beginning of the "extend" block and is shared by all extensions within + the block. + - Just because a location's span is a subset of some other location's span + does not mean that it is a descendant. For example, a "group" defines + both a type and a field in a single declaration. Thus, the locations + corresponding to the type and field and their components will overlap. + - Code which tries to interpret locations should probably be designed to + ignore those that it doesn't understand, as more types of locations could + be recorded in the future. + + + + Container for nested types declared in the SourceCodeInfo message type. + + + Field number for the "path" field. + + + + Identifies which part of the FileDescriptorProto was defined at this + location. + + Each element is a field number or an index. They form a path from + the root FileDescriptorProto to the place where the definition. For + example, this path: + [ 4, 3, 2, 7, 1 ] + refers to: + file.message_type(3) // 4, 3 + .field(7) // 2, 7 + .name() // 1 + This is because FileDescriptorProto.message_type has field number 4: + repeated DescriptorProto message_type = 4; + and DescriptorProto.field has field number 2: + repeated FieldDescriptorProto field = 2; + and FieldDescriptorProto.name has field number 1: + optional string name = 1; + + Thus, the above path gives the location of a field name. If we removed + the last element: + [ 4, 3, 2, 7 ] + this path refers to the whole field declaration (from the beginning + of the label to the terminating semicolon). + + + + Field number for the "span" field. + + + + Always has exactly three or four elements: start line, start column, + end line (optional, otherwise assumed same as start line), end column. + These are packed into a single field for efficiency. Note that line + and column numbers are zero-based -- typically you will want to add + 1 to each before displaying to a user. + + + + Field number for the "leading_comments" field. + + + + If this SourceCodeInfo represents a complete declaration, these are any + comments appearing before and after the declaration which appear to be + attached to the declaration. + + A series of line comments appearing on consecutive lines, with no other + tokens appearing on those lines, will be treated as a single comment. + + leading_detached_comments will keep paragraphs of comments that appear + before (but not connected to) the current element. Each paragraph, + separated by empty lines, will be one comment element in the repeated + field. + + Only the comment content is provided; comment markers (e.g. //) are + stripped out. For block comments, leading whitespace and an asterisk + will be stripped from the beginning of each line other than the first. + Newlines are included in the output. + + Examples: + + optional int32 foo = 1; // Comment attached to foo. + // Comment attached to bar. + optional int32 bar = 2; + + optional string baz = 3; + // Comment attached to baz. + // Another line attached to baz. + + // Comment attached to qux. + // + // Another line attached to qux. + optional double qux = 4; + + // Detached comment for corge. This is not leading or trailing comments + // to qux or corge because there are blank lines separating it from + // both. + + // Detached comment for corge paragraph 2. + + optional string corge = 5; + /* Block comment attached + * to corge. Leading asterisks + * will be removed. */ + /* Block comment attached to + * grault. */ + optional int32 grault = 6; + + // ignored detached comments. + + + + Gets whether the "leading_comments" field is set + + + Clears the value of the "leading_comments" field + + + Field number for the "trailing_comments" field. + + + Gets whether the "trailing_comments" field is set + + + Clears the value of the "trailing_comments" field + + + Field number for the "leading_detached_comments" field. + + + + Describes the relationship between generated code and its original source + file. A GeneratedCodeInfo message is associated with only one generated + source file, but may contain references to different source .proto files. + + + + Field number for the "annotation" field. + + + + An Annotation connects some span of text in generated code to an element + of its generating .proto file. + + + + Container for nested types declared in the GeneratedCodeInfo message type. + + + Field number for the "path" field. + + + + Identifies the element in the original source .proto file. This field + is formatted the same as SourceCodeInfo.Location.path. + + + + Field number for the "source_file" field. + + + + Identifies the filesystem path to the original source .proto. + + + + Gets whether the "source_file" field is set + + + Clears the value of the "source_file" field + + + Field number for the "begin" field. + + + + Identifies the starting offset in bytes in the generated code + that relates to the identified object. + + + + Gets whether the "begin" field is set + + + Clears the value of the "begin" field + + + Field number for the "end" field. + + + + Identifies the ending offset in bytes in the generated code that + relates to the identified offset. The end offset should be one past + the last relevant byte (so the length of the text = end - begin). + + + + Gets whether the "end" field is set + + + Clears the value of the "end" field + + + + Base class for nearly all descriptors, providing common functionality. + + + + + The index of this descriptor within its parent descriptor. + + + This returns the index of this descriptor within its parent, for + this descriptor's type. (There can be duplicate values for different + types, e.g. one enum type with index 0 and one message type with index 0.) + + + + + Returns the name of the entity (field, message etc) being described. + + + + + The fully qualified name of the descriptor's target. + + + + + The file this descriptor was declared in. + + + + + The declaration information about the descriptor, or null if no declaration information + is available for this descriptor. + + + This information is typically only available for dynamically loaded descriptors, + for example within a protoc plugin where the full descriptors, including source info, + are passed to the code by protoc. + + + + + Retrieves the list of nested descriptors corresponding to the given field number, if any. + If the field is unknown or not a nested descriptor list, return null to terminate the search. + The default implementation returns null. + + + + + Provides additional information about the declaration of a descriptor, + such as source location and comments. + + + + + The descriptor this declaration relates to. + + + + + The start line of the declaration within the source file. This value is 1-based. + + + + + The start column of the declaration within the source file. This value is 1-based. + + + + + // The end line of the declaration within the source file. This value is 1-based. + + + + + The end column of the declaration within the source file. This value is 1-based, and + exclusive. (The final character of the declaration is on the column before this value.) + + + + + Comments appearing before the declaration. Never null, but may be empty. Multi-line comments + are represented as a newline-separated string. Leading whitespace and the comment marker ("//") + are removed from each line. + + + + + Comments appearing after the declaration. Never null, but may be empty. Multi-line comments + are represented as a newline-separated string. Leading whitespace and the comment marker ("//") + are removed from each line. + + + + + Comments appearing before the declaration, but separated from it by blank + lines. Each string represents a newline-separated paragraph of comments. + Leading whitespace and the comment marker ("//") are removed from each line. + The list is never null, but may be empty. Likewise each element is never null, but may be empty. + + + + + Contains lookup tables containing all the descriptors defined in a particular file. + + + + + Finds a symbol of the given name within the pool. + + The type of symbol to look for + Fully-qualified name to look up + The symbol with the given name and type, + or null if the symbol doesn't exist or has the wrong type + + + + Adds a package to the symbol tables. If a package by the same name + already exists, that is fine, but if some other kind of symbol + exists under the same name, an exception is thrown. If the package + has multiple components, this also adds the parent package(s). + + + + + Adds a symbol to the symbol table. + + The symbol already existed + in the symbol table. + + + + Verifies that the descriptor's name is valid (i.e. it contains + only letters, digits and underscores, and does not start with a digit). + + + + + + Returns the field with the given number in the given descriptor, + or null if it can't be found. + + + + + Adds a field to the fieldsByNumber table. + + A field with the same + containing type and number already exists. + + + + Adds an enum value to the enumValuesByNumber table. If an enum value + with the same type and number already exists, this method does nothing. + (This is allowed; the first value defined with the number takes precedence.) + + + + + Looks up a descriptor by name, relative to some other descriptor. + The name may be fully-qualified (with a leading '.'), partially-qualified, + or unqualified. C++-like name lookup semantics are used to search for the + matching descriptor. + + + This isn't heavily optimized, but it's only used during cross linking anyway. + If it starts being used more widely, we should look at performance more carefully. + + + + + Internal class containing utility methods when working with descriptors. + + + + + Equivalent to Func[TInput, int, TOutput] but usable in .NET 2.0. Only used to convert + arrays. + + + + + Converts the given array into a read-only list, applying the specified conversion to + each input element. + + + + + Thrown when building descriptors fails because the source DescriptorProtos + are not valid. + + + + + The full name of the descriptor where the error occurred. + + + + + A human-readable description of the error. (The Message property + is made up of the descriptor's name and this description.) + + + + + Descriptor for an enum type in a .proto file. + + + + + The brief name of the descriptor's target. + + + + + The CLR type for this enum. For generated code, this will be a CLR enum type. + + + + + If this is a nested type, get the outer descriptor, otherwise null. + + + + + An unmodifiable list of defined value descriptors for this enum. + + + + + Finds an enum value by number. If multiple enum values have the + same number, this returns the first defined value with that number. + If there is no value for the given number, this returns null. + + + + + Finds an enum value by name. + + The unqualified name of the value (e.g. "FOO"). + The value's descriptor, or null if not found. + + + + The (possibly empty) set of custom options for this enum. + + + + + The EnumOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value enum option for this descriptor + + + + + Gets a repeated value enum option for this descriptor + + + + + Descriptor for a single enum value within an enum in a .proto file. + + + + + Returns the name of the enum value described by this object. + + + + + Returns the number associated with this enum value. + + + + + Returns the enum descriptor that this value is part of. + + + + + The (possibly empty) set of custom options for this enum value. + + + + + The EnumValueOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value enum value option for this descriptor + + + + + Gets a repeated value enum value option for this descriptor + + + + + A collection to simplify retrieving the descriptors of extensions in a descriptor for a message + + + + + Returns a readonly list of all the extensions defined in this type in + the order they were defined in the source .proto file + + + + + Returns a readonly list of all the extensions define in this type that extend + the provided descriptor type in the order they were defined in the source .proto file + + + + + Returns a readonly list of all the extensions define in this type that extend + the provided descriptor type in accending field order + + + + + Base class for field accessors. + + + + + Descriptor for a field or extension within a message in a .proto file. + + + + + Get the field's containing message type, or null if it is a field defined at the top level of a file as an extension. + + + + + Returns the oneof containing this field, or null if it is not part of a oneof. + + + + + Returns the oneof containing this field if it's a "real" oneof, or null if either this + field is not part of a oneof, or the oneof is synthetic. + + + + + The effective JSON name for this field. This is usually the lower-camel-cased form of the field name, + but can be overridden using the json_name option in the .proto file. + + + + + Indicates whether this field supports presence, either implicitly (e.g. due to it being a message + type field) or explicitly via Has/Clear members. If this returns true, it is safe to call + and + on this field's accessor with a suitable message. + + + + + An extension identifier for this field, or null if this field isn't an extension. + + + + + The brief name of the descriptor's target. + + + + + Returns the accessor for this field. + + + + While a describes the field, it does not provide + any way of obtaining or changing the value of the field within a specific message; + that is the responsibility of the accessor. + + + In descriptors for generated code, the value returned by this property will be non-null for all + regular fields. However, if a message containing a map field is introspected, the list of nested messages will include + an auto-generated nested key/value pair message for the field. This is not represented in any + generated type, and the value of the map field itself is represented by a dictionary in the + reflection API. There are never instances of those "hidden" messages, so no accessor is provided + and this property will return null. + + + In dynamically loaded descriptors, the value returned by this property will current be null; + if and when dynamic messages are supported, it will return a suitable accessor to work with + them. + + + + + + Maps a field type as included in the .proto file to a FieldType. + + + + + Returns true if this field is a repeated field; false otherwise. + + + + + Returns true if this field is a required field; false otherwise. + + + + + Returns true if this field is a map field; false otherwise. + + + + + Returns true if this field is a packed, repeated field; false otherwise. + + + + + Returns true if this field extends another message type; false otherwise. + + + + + Returns the type of the field. + + + + + Returns the field number declared in the proto file. + + + + + Compares this descriptor with another one, ordering in "canonical" order + which simply means ascending order by field number. + must be a field of the same type, i.e. the of + both fields must be the same. + + + + + For enum fields, returns the field's type. + + + + + For embedded message and group fields, returns the field's type. + + + + + For extension fields, returns the extended type + + + + + The (possibly empty) set of custom options for this field. + + + + + The FieldOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value field option for this descriptor + + + + + Gets a repeated value field option for this descriptor + + + + + Look up and cross-link all field types etc. + + + + + Enumeration of all the possible field types. + + + + + The double field type. + + + + + The float field type. + + + + + The int64 field type. + + + + + The uint64 field type. + + + + + The int32 field type. + + + + + The fixed64 field type. + + + + + The fixed32 field type. + + + + + The bool field type. + + + + + The string field type. + + + + + The field type used for groups. + + + + + The field type used for message fields. + + + + + The bytes field type. + + + + + The uint32 field type. + + + + + The sfixed32 field type. + + + + + The sfixed64 field type. + + + + + The sint32 field type. + + + + + The sint64 field type. + + + + + The field type used for enum fields. + + + + + The syntax of a .proto file + + + + + Proto2 syntax + + + + + Proto3 syntax + + + + + An unknown declared syntax + + + + + Describes a .proto file, including everything defined within. + IDescriptor is implemented such that the File property returns this descriptor, + and the FullName is the same as the Name. + + + + + Computes the full name of a descriptor within this file, with an optional parent message. + + + + + Extracts public dependencies from direct dependencies. This is a static method despite its + first parameter, as the value we're in the middle of constructing is only used for exceptions. + + + + + The descriptor in its protocol message representation. + + + + + The syntax of the file + + + + + The file name. + + + + + The package as declared in the .proto file. This may or may not + be equivalent to the .NET namespace of the generated classes. + + + + + Unmodifiable list of top-level message types declared in this file. + + + + + Unmodifiable list of top-level enum types declared in this file. + + + + + Unmodifiable list of top-level services declared in this file. + + + + + Unmodifiable list of top-level extensions declared in this file. + Note that some extensions may be incomplete (FieldDescriptor.Extension may be null) + if this descriptor was generated using a version of protoc that did not fully + support extensions in C#. + + + + + Unmodifiable list of this file's dependencies (imports). + + + + + Unmodifiable list of this file's public dependencies (public imports). + + + + + The original serialized binary form of this descriptor. + + + + + Implementation of IDescriptor.FullName - just returns the same as Name. + + + + + Implementation of IDescriptor.File - just returns this descriptor. + + + + + Pool containing symbol descriptors. + + + + + Finds a type (message, enum, service or extension) in the file by name. Does not find nested types. + + The unqualified type name to look for. + The type of descriptor to look for + The type's descriptor, or null if not found. + + + + Builds a FileDescriptor from its protocol buffer representation. + + The original serialized descriptor data. + We have only limited proto2 support, so serializing FileDescriptorProto + would not necessarily give us this. + The protocol message form of the FileDescriptor. + FileDescriptors corresponding to all of the + file's dependencies, in the exact order listed in the .proto file. May be null, + in which case it is treated as an empty array. + Whether unknown dependencies are ignored (true) or cause an exception to be thrown (false). + Details about generated code, for the purposes of reflection. + If is not + a valid descriptor. This can occur for a number of reasons, such as a field + having an undefined type or because two messages were defined with the same name. + + + + Creates a descriptor for generated code. + + + This method is only designed to be used by the results of generating code with protoc, + which creates the appropriate dependencies etc. It has to be public because the generated + code is "external", but should not be called directly by end users. + + + + + Converts the given descriptor binary data into FileDescriptor objects. + Note: reflection using the returned FileDescriptors is not currently supported. + + The binary file descriptor proto data. Must not be null, and any + dependencies must come before the descriptor which depends on them. (If A depends on B, and B + depends on C, then the descriptors must be presented in the order C, B, A.) This is compatible + with the order in which protoc provides descriptors to plugins. + The file descriptors corresponding to . + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns the file descriptor for descriptor.proto. + + + This is used for protos which take a direct dependency on descriptor.proto, typically for + annotations. While descriptor.proto is a proto2 file, it is built into the Google.Protobuf + runtime for reflection purposes. The messages are internal to the runtime as they would require + proto2 semantics for full support, but the file descriptor is available via this property. The + C# codegen in protoc automatically uses this property when it detects a dependency on descriptor.proto. + + + The file descriptor for descriptor.proto. + + + + + The (possibly empty) set of custom options for this file. + + + + + The FileOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value file option for this descriptor + + + + + Gets a repeated value file option for this descriptor + + + + + Performs initialization for the given generic type argument. + + + This method is present for the sake of AOT compilers. It allows code (whether handwritten or generated) + to make calls into the reflection machinery of this library to express an intention to use that type + reflectively (e.g. for JSON parsing and formatting). The call itself does almost nothing, but AOT compilers + attempting to determine which generic type arguments need to be handled will spot the code path and act + accordingly. + + The type to force initialization for. + + + + Extra information provided by generated code when initializing a message or file descriptor. + These are constructed as required, and are not long-lived. Hand-written code should + never need to use this type. + + + + + Irrelevant for file descriptors; the CLR type for the message for message descriptors. + + + + + Irrelevant for file descriptors; the parser for message descriptors. + + + + + Irrelevant for file descriptors; the CLR property names (in message descriptor field order) + for fields in the message for message descriptors. + + + + + The extensions defined within this file/message descriptor + + + + + Irrelevant for file descriptors; the CLR property "base" names (in message descriptor oneof order) + for oneofs in the message for message descriptors. It is expected that for a oneof name of "Foo", + there will be a "FooCase" property and a "ClearFoo" method. + + + + + The reflection information for types within this file/message descriptor. Elements may be null + if there is no corresponding generated type, e.g. for map entry types. + + + + + The CLR types for enums within this file/message descriptor. + + + + + Creates a GeneratedClrTypeInfo for a message descriptor, with nested types, nested enums, the CLR type, property names and oneof names. + Each array parameter may be null, to indicate a lack of values. + The parameter order is designed to make it feasible to format the generated code readably. + + + + + Creates a GeneratedClrTypeInfo for a message descriptor, with nested types, nested enums, the CLR type, property names and oneof names. + Each array parameter may be null, to indicate a lack of values. + The parameter order is designed to make it feasible to format the generated code readably. + + + + + Creates a GeneratedClrTypeInfo for a file descriptor, with only types, enums, and extensions. + + + + + Creates a GeneratedClrTypeInfo for a file descriptor, with only types and enums. + + + + + Interface implemented by all descriptor types. + + + + + Returns the name of the entity (message, field etc) being described. + + + + + Returns the fully-qualified name of the entity being described. + + + + + Returns the descriptor for the .proto file that this entity is part of. + + + + + Allows fields to be reflectively accessed. + + + + + Returns the descriptor associated with this field. + + + + + Clears the field in the specified message. (For repeated fields, + this clears the list.) + + + + + Fetches the field value. For repeated values, this will be an + implementation. For map values, this will be an + implementation. + + + + + Indicates whether the field in the specified message is set. + For proto3 fields that aren't explicitly optional, this throws an + + + + + Mutator for single "simple" fields only. + + + Repeated fields are mutated by fetching the value and manipulating it as a list. + Map fields are mutated by fetching the value and manipulating it as a dictionary. + + The field is not a "simple" field. + + + + Accessor for map fields. + + + + + Describes a message type. + + + + + The brief name of the descriptor's target. + + + + + The CLR type used to represent message instances from this descriptor. + + + + The value returned by this property will be non-null for all regular fields. However, + if a message containing a map field is introspected, the list of nested messages will include + an auto-generated nested key/value pair message for the field. This is not represented in any + generated type, so this property will return null in such cases. + + + For wrapper types ( and the like), the type returned here + will be the generated message type, not the native type used by reflection for fields of those types. Code + using reflection should call to determine whether a message descriptor represents + a wrapper type, and handle the result appropriately. + + + + + + A parser for this message type. + + + + As is not generic, this cannot be statically + typed to the relevant type, but it should produce objects of a type compatible with . + + + The value returned by this property will be non-null for all regular fields. However, + if a message containing a map field is introspected, the list of nested messages will include + an auto-generated nested key/value pair message for the field. No message parser object is created for + such messages, so this property will return null in such cases. + + + For wrapper types ( and the like), the parser returned here + will be the generated message type, not the native type used by reflection for fields of those types. Code + using reflection should call to determine whether a message descriptor represents + a wrapper type, and handle the result appropriately. + + + + + + Returns whether this message is one of the "well known types" which may have runtime/protoc support. + + + + + Returns whether this message is one of the "wrapper types" used for fields which represent primitive values + with the addition of presence. + + + + + If this is a nested type, get the outer descriptor, otherwise null. + + + + + A collection of fields, which can be retrieved by name or field number. + + + + + An unmodifiable list of extensions defined in this message's scope. + Note that some extensions may be incomplete (FieldDescriptor.Extension may be null) + if they are declared in a file generated using a version of protoc that did not fully + support extensions in C#. + + + + + An unmodifiable list of this message type's nested types. + + + + + An unmodifiable list of this message type's enum types. + + + + + An unmodifiable list of the "oneof" field collections in this message type. + All "real" oneofs (where returns false) + come before synthetic ones. + + + + + The number of real "oneof" descriptors in this message type. Every element in + with an index less than this will have a property value + of false; every element with an index greater than or equal to this will have a + property value of true. + + + + + Finds a field by field name. + + The unqualified name of the field (e.g. "foo"). + The field's descriptor, or null if not found. + + + + Finds a field by field number. + + The field number within this message type. + The field's descriptor, or null if not found. + + + + Finds a nested descriptor by name. The is valid for fields, nested + message types, oneofs and enums. + + The unqualified name of the descriptor, e.g. "Foo" + The descriptor, or null if not found. + + + + The (possibly empty) set of custom options for this message. + + + + + The MessageOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value message option for this descriptor + + + + + Gets a repeated value message option for this descriptor + + + + + Looks up and cross-links all fields and nested types. + + + + + A collection to simplify retrieving the field accessor for a particular field. + + + + + Returns the fields in the message as an immutable list, in the order in which they + are declared in the source .proto file. + + + + + Returns the fields in the message as an immutable list, in ascending field number + order. Field numbers need not be contiguous, so there is no direct mapping from the + index in the list to the field number; to retrieve a field by field number, it is better + to use the indexer. + + + + + Returns a read-only dictionary mapping the field names in this message as they're available + in the JSON representation to the field descriptors. For example, a field foo_bar + in the message would result two entries, one with a key fooBar and one with a key + foo_bar, both referring to the same field. + + + + + Retrieves the descriptor for the field with the given number. + + Number of the field to retrieve the descriptor for + The accessor for the given field + The message descriptor does not contain a field + with the given number + + + + Retrieves the descriptor for the field with the given name. + + Name of the field to retrieve the descriptor for + The descriptor for the given field + The message descriptor does not contain a field + with the given name + + + + Describes a single method in a service. + + + + + The service this method belongs to. + + + + + The method's input type. + + + + + The method's input type. + + + + + Indicates if client streams multiple requests. + + + + + Indicates if server streams multiple responses. + + + + + The (possibly empty) set of custom options for this method. + + + + + The MethodOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value method option for this descriptor + + + + + Gets a repeated value method option for this descriptor + + + + + The brief name of the descriptor's target. + + + + + Reflection access for a oneof, allowing clear and "get case" actions. + + + + + Gets the descriptor for this oneof. + + + The descriptor of the oneof. + + + + + Clears the oneof in the specified message. + + + + + Indicates which field in the oneof is set for specified message + + + + + Describes a "oneof" field collection in a message type: a set of + fields of which at most one can be set in any particular message. + + + + + The brief name of the descriptor's target. + + + + + Gets the message type containing this oneof. + + + The message type containing this oneof. + + + + + Gets the fields within this oneof, in declaration order. + + + The fields within this oneof, in declaration order. + + + + + Returns true if this oneof is a synthetic oneof containing a proto3 optional field; + false otherwise. + + + + + Gets an accessor for reflective access to the values associated with the oneof + in a particular message. + + + + In descriptors for generated code, the value returned by this property will always be non-null. + + + In dynamically loaded descriptors, the value returned by this property will current be null; + if and when dynamic messages are supported, it will return a suitable accessor to work with + them. + + + + The accessor used for reflective access. + + + + + The (possibly empty) set of custom options for this oneof. + + + + + The OneofOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value oneof option for this descriptor + + + + + Gets a repeated value oneof option for this descriptor + + + + + Specifies the original name (in the .proto file) of a named element, + such as an enum value. + + + + + The name of the element in the .proto file. + + + + + If the name is preferred in the .proto file. + + + + + Constructs a new attribute instance for the given name. + + The name of the element in the .proto file. + + + + Represents a package in the symbol table. We use PackageDescriptors + just as placeholders so that someone cannot define, say, a message type + that has the same name as an existing package. + + + + + The methods in this class are somewhat evil, and should not be tampered with lightly. + Basically they allow the creation of relatively weakly typed delegates from MethodInfos + which are more strongly typed. They do this by creating an appropriate strongly typed + delegate from the MethodInfo, and then calling that within an anonymous method. + Mind-bending stuff (at least to your humble narrator) but the resulting delegates are + very fast compared with calling Invoke later on. + + + + + Empty Type[] used when calling GetProperty to force property instead of indexer fetching. + + + + + Creates a delegate which will cast the argument to the type that declares the method, + call the method on it, then convert the result to object. + + The method to create a delegate for, which must be declared in an IMessage + implementation. + + + + Creates a delegate which will cast the argument to the type that declares the method, + call the method on it, then convert the result to the specified type. The method is expected + to actually return an enum (because of where we're calling it - for oneof cases). Sometimes that + means we need some extra work to perform conversions. + + The method to create a delegate for, which must be declared in an IMessage + implementation. + + + + Creates a delegate which will execute the given method after casting the first argument to + the type that declares the method, and the second argument to the first parameter type of the method. + + The method to create a delegate for, which must be declared in an IMessage + implementation. + + + + Creates a delegate which will execute the given method after casting the first argument to + type that declares the method. + + The method to create a delegate for, which must be declared in an IMessage + implementation. + + + + Creates a delegate which will execute the given method after casting the first argument to + the type that declares the method, and the second argument to the first parameter type of the method. + + + + + Creates a reflection helper for the given type arguments. Currently these are created on demand + rather than cached; this will be "busy" when initially loading a message's descriptor, but after that + they can be garbage collected. We could cache them by type if that proves to be important, but creating + an object is pretty cheap. + + + + + Accessor for repeated fields. + + + + + Describes a service type. + + + + + The brief name of the descriptor's target. + + + + + An unmodifiable list of methods in this service. + + + + + Finds a method by name. + + The unqualified name of the method (e.g. "Foo"). + The method's descriptor, or null if not found. + + + + The (possibly empty) set of custom options for this service. + + + + + The ServiceOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value service option for this descriptor + + + + + Gets a repeated value service option for this descriptor + + + + + Accessor for single fields. + + + + + An immutable registry of types which can be looked up by their full name. + + + + + An empty type registry, containing no types. + + + + + Attempts to find a message descriptor by its full name. + + The full name of the message, which is the dot-separated + combination of package, containing messages and message name + The message descriptor corresponding to or null + if there is no such message descriptor. + + + + Creates a type registry from the specified set of file descriptors. + + + This is a convenience overload for + to allow calls such as TypeRegistry.FromFiles(descriptor1, descriptor2). + + The set of files to include in the registry. Must not contain null values. + A type registry for the given files. + + + + Creates a type registry from the specified set of file descriptors. + + + All message types within all the specified files are added to the registry, and + the dependencies of the specified files are also added, recursively. + + The set of files to include in the registry. Must not contain null values. + A type registry for the given files. + + + + Creates a type registry from the file descriptor parents of the specified set of message descriptors. + + + This is a convenience overload for + to allow calls such as TypeRegistry.FromFiles(descriptor1, descriptor2). + + The set of message descriptors to use to identify file descriptors to include in the registry. + Must not contain null values. + A type registry for the given files. + + + + Creates a type registry from the file descriptor parents of the specified set of message descriptors. + + + The specified message descriptors are only used to identify their file descriptors; the returned registry + contains all the types within the file descriptors which contain the specified message descriptors (and + the dependencies of those files), not just the specified messages. + + The set of message descriptors to use to identify file descriptors to include in the registry. + Must not contain null values. + A type registry for the given files. + + + + Builder class which isn't exposed, but acts as a convenient alternative to passing round two dictionaries in recursive calls. + + + + + Represents a single field in an UnknownFieldSet. + + An UnknownField consists of four lists of values. The lists correspond + to the four "wire types" used in the protocol buffer binary format. + Normally, only one of the four lists will contain any values, since it + is impossible to define a valid message type that declares two different + types for the same field number. However, the code is designed to allow + for the case where the same unknown field number is encountered using + multiple different wire types. + + + + + + Creates a new UnknownField. + + + + + Checks if two unknown field are equal. + + + + + Get the hash code of the unknown field. + + + + + Serializes the field, including the field number, and writes it to + + + The unknown field number. + The CodedOutputStream to write to. + + + + Computes the number of bytes required to encode this field, including field + number. + + + + + Merge the values in into this field. For each list + of values, 's values are append to the ones in this + field. + + + + + Returns a new list containing all of the given specified values from + both the and lists. + If is null and is empty, + null is returned. Otherwise, either a new list is created (if + is null) or the elements of are added to . + + + + + Adds a varint value. + + + + + Adds a fixed32 value. + + + + + Adds a fixed64 value. + + + + + Adds a length-delimited value. + + + + + Adds to the , creating + a new list if is null. The list is returned - either + the original reference or the new list. + + + + + Used to keep track of fields which were seen when parsing a protocol message + but whose field numbers or types are unrecognized. This most frequently + occurs when new fields are added to a message type and then messages containing + those fields are read by old software that was built before the new types were + added. + + Most users will never need to use this class directly. + + + + + Creates a new UnknownFieldSet. + + + + + Checks whether or not the given field number is present in the set. + + + + + Serializes the set and writes it to . + + + + + Gets the number of bytes required to encode this set. + + + + + Checks if two unknown field sets are equal. + + + + + Gets the unknown field set's hash code. + + + + + Adds a field to the set. If a field with the same number already exists, it + is replaced. + + + + + Parse a single field from and merge it + into this set. + + The coded input stream containing the field + false if the tag is an "end group" tag, true otherwise + + + + Create a new UnknownFieldSet if unknownFields is null. + Parse a single field from and merge it + into unknownFields. If is configured to discard unknown fields, + will be returned as-is and the field will be skipped. + + The UnknownFieldSet which need to be merged + The coded input stream containing the field + The merged UnknownFieldSet + + + + Merges the fields from into this set. + If a field number exists in both sets, the values in + will be appended to the values in this set. + + + + + Created a new UnknownFieldSet to if + needed and merges the fields from into the first set. + If a field number exists in both sets, the values in + will be appended to the values in this set. + + + + + Adds a field to the unknown field set. If a field with the same + number already exists, the two are merged. + + + + + Clone an unknown field set from . + + + + Holder for reflection information generated from google/protobuf/any.proto + + + File descriptor for google/protobuf/any.proto + + + + `Any` contains an arbitrary serialized protocol buffer message along with a + URL that describes the type of the serialized message. + + Protobuf library provides support to pack/unpack Any values in the form + of utility functions or additional generated methods of the Any type. + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by default use + 'type.googleapis.com/full.type.name' as the type URL and the unpack + methods only use the fully qualified type name after the last '/' + in the type URL, for example "foo.bar.com/x/y.z" will yield type + name "y.z". + + JSON + ==== + The JSON representation of an `Any` value uses the regular + representation of the deserialized, embedded message, with an + additional field `@type` which contains the type URL. Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": <string>, + "lastName": <string> + } + + If the embedded message type is well-known and has a custom JSON + representation, that representation will be embedded adding a field + `value` which holds the custom JSON in addition to the `@type` + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + + + + Field number for the "type_url" field. + + + + A URL/resource name that uniquely identifies the type of the serialized + protocol buffer message. This string must contain at least + one "/" character. The last segment of the URL's path must represent + the fully qualified name of the type (as in + `path/google.protobuf.Duration`). The name should be in a canonical form + (e.g., leading "." is not accepted). + + In practice, teams usually precompile into the binary all types that they + expect it to use in the context of Any. However, for URLs which use the + scheme `http`, `https`, or no scheme, one can optionally set up a type + server that maps type URLs to message definitions as follows: + + * If no scheme is provided, `https` is assumed. + * An HTTP GET on the URL must yield a [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in the official + protobuf release, and it is not used for type URLs beginning with + type.googleapis.com. + + Schemes other than `http`, `https` (or the empty scheme) might be + used with implementation specific semantics. + + + + Field number for the "value" field. + + + + Must be a valid serialized protocol buffer of the above specified type. + + + + + Retrieves the type name for a type URL, matching the + of the packed message type. + + + + This is always just the last part of the URL, after the final slash. No validation of + anything before the trailing slash is performed. If the type URL does not include a slash, + an empty string is returned rather than an exception being thrown; this won't match any types, + and the calling code is probably in a better position to give a meaningful error. + + + There is no handling of fragments or queries at the moment. + + + The URL to extract the type name from + The type name + + + + Returns a bool indictating whether this Any message is of the target message type + + The descriptor of the message type + true if the type name matches the descriptor's full name or false otherwise + + + + Unpacks the content of this Any message into the target message type, + which must match the type URL within this Any message. + + The type of message to unpack the content into. + The unpacked message. + The target message type doesn't match the type URL in this message + + + + Attempts to unpack the content of this Any message into the target message type, + if it matches the type URL within this Any message. + + The type of message to attempt to unpack the content into. + true if the message was successfully unpacked; false if the type name didn't match + + + + Packs the specified message into an Any message using a type URL prefix of "type.googleapis.com". + + The message to pack. + An Any message with the content and type URL of . + + + + Packs the specified message into an Any message using the specified type URL prefix. + + The message to pack. + The prefix for the type URL. + An Any message with the content and type URL of . + + + Holder for reflection information generated from google/protobuf/api.proto + + + File descriptor for google/protobuf/api.proto + + + + Api is a light-weight descriptor for an API Interface. + + Interfaces are also described as "protocol buffer services" in some contexts, + such as by the "service" keyword in a .proto file, but they are different + from API Services, which represent a concrete implementation of an interface + as opposed to simply a description of methods and bindings. They are also + sometimes simply referred to as "APIs" in other contexts, such as the name of + this message itself. See https://cloud.google.com/apis/design/glossary for + detailed terminology. + + + + Field number for the "name" field. + + + + The fully qualified name of this interface, including package name + followed by the interface's simple name. + + + + Field number for the "methods" field. + + + + The methods of this interface, in unspecified order. + + + + Field number for the "options" field. + + + + Any metadata attached to the interface. + + + + Field number for the "version" field. + + + + A version string for this interface. If specified, must have the form + `major-version.minor-version`, as in `1.10`. If the minor version is + omitted, it defaults to zero. If the entire version field is empty, the + major version is derived from the package name, as outlined below. If the + field is not empty, the version in the package name will be verified to be + consistent with what is provided here. + + The versioning schema uses [semantic + versioning](http://semver.org) where the major version number + indicates a breaking change and the minor version an additive, + non-breaking change. Both version numbers are signals to users + what to expect from different versions, and should be carefully + chosen based on the product plan. + + The major version is also reflected in the package name of the + interface, which must end in `v<major-version>`, as in + `google.feature.v1`. For major versions 0 and 1, the suffix can + be omitted. Zero major versions must only be used for + experimental, non-GA interfaces. + + + + Field number for the "source_context" field. + + + + Source context for the protocol buffer service represented by this + message. + + + + Field number for the "mixins" field. + + + + Included interfaces. See [Mixin][]. + + + + Field number for the "syntax" field. + + + + The source syntax of the service. + + + + + Method represents a method of an API interface. + + + + Field number for the "name" field. + + + + The simple name of this method. + + + + Field number for the "request_type_url" field. + + + + A URL of the input message type. + + + + Field number for the "request_streaming" field. + + + + If true, the request is streamed. + + + + Field number for the "response_type_url" field. + + + + The URL of the output message type. + + + + Field number for the "response_streaming" field. + + + + If true, the response is streamed. + + + + Field number for the "options" field. + + + + Any metadata attached to the method. + + + + Field number for the "syntax" field. + + + + The source syntax of this method. + + + + + Declares an API Interface to be included in this interface. The including + interface must redeclare all the methods from the included interface, but + documentation and options are inherited as follows: + + - If after comment and whitespace stripping, the documentation + string of the redeclared method is empty, it will be inherited + from the original method. + + - Each annotation belonging to the service config (http, + visibility) which is not set in the redeclared method will be + inherited. + + - If an http annotation is inherited, the path pattern will be + modified as follows. Any version prefix will be replaced by the + version of the including interface plus the [root][] path if + specified. + + Example of a simple mixin: + + package google.acl.v1; + service AccessControl { + // Get the underlying ACL object. + rpc GetAcl(GetAclRequest) returns (Acl) { + option (google.api.http).get = "/v1/{resource=**}:getAcl"; + } + } + + package google.storage.v2; + service Storage { + rpc GetAcl(GetAclRequest) returns (Acl); + + // Get a data record. + rpc GetData(GetDataRequest) returns (Data) { + option (google.api.http).get = "/v2/{resource=**}"; + } + } + + Example of a mixin configuration: + + apis: + - name: google.storage.v2.Storage + mixins: + - name: google.acl.v1.AccessControl + + The mixin construct implies that all methods in `AccessControl` are + also declared with same name and request/response types in + `Storage`. A documentation generator or annotation processor will + see the effective `Storage.GetAcl` method after inherting + documentation and annotations as follows: + + service Storage { + // Get the underlying ACL object. + rpc GetAcl(GetAclRequest) returns (Acl) { + option (google.api.http).get = "/v2/{resource=**}:getAcl"; + } + ... + } + + Note how the version in the path pattern changed from `v1` to `v2`. + + If the `root` field in the mixin is specified, it should be a + relative path under which inherited HTTP paths are placed. Example: + + apis: + - name: google.storage.v2.Storage + mixins: + - name: google.acl.v1.AccessControl + root: acls + + This implies the following inherited HTTP annotation: + + service Storage { + // Get the underlying ACL object. + rpc GetAcl(GetAclRequest) returns (Acl) { + option (google.api.http).get = "/v2/acls/{resource=**}:getAcl"; + } + ... + } + + + + Field number for the "name" field. + + + + The fully qualified name of the interface which is included. + + + + Field number for the "root" field. + + + + If non-empty specifies a path under which inherited HTTP paths + are rooted. + + + + Holder for reflection information generated from google/protobuf/duration.proto + + + File descriptor for google/protobuf/duration.proto + + + + A Duration represents a signed, fixed-length span of time represented + as a count of seconds and fractions of seconds at nanosecond + resolution. It is independent of any calendar and concepts like "day" + or "month". It is related to Timestamp in that the difference between + two Timestamp values is a Duration and it can be added or subtracted + from a Timestamp. Range is approximately +-10,000 years. + + # Examples + + Example 1: Compute Duration from two Timestamps in pseudo code. + + Timestamp start = ...; + Timestamp end = ...; + Duration duration = ...; + + duration.seconds = end.seconds - start.seconds; + duration.nanos = end.nanos - start.nanos; + + if (duration.seconds < 0 && duration.nanos > 0) { + duration.seconds += 1; + duration.nanos -= 1000000000; + } else if (duration.seconds > 0 && duration.nanos < 0) { + duration.seconds -= 1; + duration.nanos += 1000000000; + } + + Example 2: Compute Timestamp from Timestamp + Duration in pseudo code. + + Timestamp start = ...; + Duration duration = ...; + Timestamp end = ...; + + end.seconds = start.seconds + duration.seconds; + end.nanos = start.nanos + duration.nanos; + + if (end.nanos < 0) { + end.seconds -= 1; + end.nanos += 1000000000; + } else if (end.nanos >= 1000000000) { + end.seconds += 1; + end.nanos -= 1000000000; + } + + Example 3: Compute Duration from datetime.timedelta in Python. + + td = datetime.timedelta(days=3, minutes=10) + duration = Duration() + duration.FromTimedelta(td) + + # JSON Mapping + + In JSON format, the Duration type is encoded as a string rather than an + object, where the string ends in the suffix "s" (indicating seconds) and + is preceded by the number of seconds, with nanoseconds expressed as + fractional seconds. For example, 3 seconds with 0 nanoseconds should be + encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should + be expressed in JSON format as "3.000000001s", and 3 seconds and 1 + microsecond should be expressed in JSON format as "3.000001s". + + + + Field number for the "seconds" field. + + + + Signed seconds of the span of time. Must be from -315,576,000,000 + to +315,576,000,000 inclusive. Note: these bounds are computed from: + 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years + + + + Field number for the "nanos" field. + + + + Signed fractions of a second at nanosecond resolution of the span + of time. Durations less than one second are represented with a 0 + `seconds` field and a positive or negative `nanos` field. For durations + of one second or more, a non-zero value for the `nanos` field must be + of the same sign as the `seconds` field. Must be from -999,999,999 + to +999,999,999 inclusive. + + + + + The number of nanoseconds in a second. + + + + + The number of nanoseconds in a BCL tick (as used by and ). + + + + + The maximum permitted number of seconds. + + + + + The minimum permitted number of seconds. + + + + + Converts this to a . + + If the duration is not a precise number of ticks, it is truncated towards 0. + The value of this duration, as a TimeSpan. + This value isn't a valid normalized duration, as + described in the documentation. + + + + Converts the given to a . + + The TimeSpan to convert. + The value of the given TimeSpan, as a Duration. + + + + Returns the result of negating the duration. For example, the negation of 5 minutes is -5 minutes. + + The duration to negate. Must not be null. + The negated value of this duration. + + + + Adds the two specified values together. + + The first value to add. Must not be null. + The second value to add. Must not be null. + + + + + Subtracts one from another. + + The duration to subtract from. Must not be null. + The duration to subtract. Must not be null. + The difference between the two specified durations. + + + + Creates a duration with the normalized values from the given number of seconds and + nanoseconds, conforming with the description in the proto file. + + + + + Converts a duration specified in seconds/nanoseconds to a string. + + + If the value is a normalized duration in the range described in duration.proto, + is ignored. Otherwise, if the parameter is true, + a JSON object with a warning is returned; if it is false, an is thrown. + + Seconds portion of the duration. + Nanoseconds portion of the duration. + Determines the handling of non-normalized values + The represented duration is invalid, and is false. + + + + Returns a string representation of this for diagnostic purposes. + + + Normally the returned value will be a JSON string value (including leading and trailing quotes) but + when the value is non-normalized or out of range, a JSON object representation will be returned + instead, including a warning. This is to avoid exceptions being thrown when trying to + diagnose problems - the regular JSON formatter will still throw an exception for non-normalized + values. + + A string representation of this value. + + + + Appends a number of nanoseconds to a StringBuilder. Either 0 digits are added (in which + case no "." is appended), or 3 6 or 9 digits. This is internal for use in Timestamp as well + as Duration. + + + + Holder for reflection information generated from google/protobuf/empty.proto + + + File descriptor for google/protobuf/empty.proto + + + + A generic empty message that you can re-use to avoid defining duplicated + empty messages in your APIs. A typical example is to use it as the request + or the response type of an API method. For instance: + + service Foo { + rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); + } + + The JSON representation for `Empty` is empty JSON object `{}`. + + + + Holder for reflection information generated from google/protobuf/field_mask.proto + + + File descriptor for google/protobuf/field_mask.proto + + + + `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 + (their 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 + paths string. + + 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 apply 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. + + If a repeated field is specified for an update operation, new values will + be appended to the existing repeated field in the target resource. Note that + a repeated field is only allowed in the last position of a `paths` string. + + If a sub-message is specified in the last position of the field mask for an + update operation, then new value will be merged into the existing sub-message + in the target resource. + + For example, given the target message: + + f { + b { + d: 1 + x: 2 + } + c: [1] + } + + And an update message: + + f { + b { + d: 10 + } + c: [2] + } + + then if the field mask is: + + paths: ["f.b", "f.c"] + + then the result will be: + + f { + b { + d: 10 + x: 2 + } + c: [1, 2] + } + + An implementation may provide options to override this default behavior for + repeated and message fields. + + 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" + } + + # Field Masks and Oneof Fields + + Field masks treat fields in oneofs just as regular fields. Consider the + following message: + + message SampleMessage { + oneof test_oneof { + string name = 4; + SubMessage sub_message = 9; + } + } + + The field mask can be: + + mask { + paths: "name" + } + + Or: + + mask { + paths: "sub_message" + } + + Note that oneof type names ("test_oneof" in this case) cannot be used in + paths. + + ## Field Mask Verification + + The implementation of any API method which has a FieldMask type field in the + request should verify the included field paths, and return an + `INVALID_ARGUMENT` error if any path is unmappable. + + + + Field number for the "paths" field. + + + + The set of field mask paths. + + + + + Converts a field mask specified by paths to a string. + + + If the value is a normalized duration in the range described in field_mask.proto, + is ignored. Otherwise, if the parameter is true, + a JSON object with a warning is returned; if it is false, an is thrown. + + Paths in the field mask + Determines the handling of non-normalized values + The represented field mask is invalid, and is false. + + + + Returns a string representation of this for diagnostic purposes. + + + Normally the returned value will be a JSON string value (including leading and trailing quotes) but + when the value is non-normalized or out of range, a JSON object representation will be returned + instead, including a warning. This is to avoid exceptions being thrown when trying to + diagnose problems - the regular JSON formatter will still throw an exception for non-normalized + values. + + A string representation of this value. + + + + Parses from a string to a FieldMask. + + + + + Parses from a string to a FieldMask and validates all field paths. + + The type to validate the field paths against. + + + + Constructs a FieldMask for a list of field paths in a certain type. + + The type to validate the field paths against. + + + + Constructs a FieldMask from the passed field numbers. + + The type to validate the field paths against. + + + + Constructs a FieldMask from the passed field numbers. + + The type to validate the field paths against. + + + + Checks whether the given path is valid for a field mask. + + true if the path is valid; false otherwise + + + + Checks whether paths in a given fields mask are valid. + + The type to validate the field paths against. + + + + Checks whether paths in a given fields mask are valid. + + + + + Checks whether a given field path is valid. + + The type to validate the field paths against. + + + + Checks whether paths in a given fields mask are valid. + + + + + Converts this FieldMask to its canonical form. In the canonical form of a + FieldMask, all field paths are sorted alphabetically and redundant field + paths are removed. + + + + + Creates a union of two or more FieldMasks. + + + + + Calculates the intersection of two FieldMasks. + + + + + Merges fields specified by this FieldMask from one message to another with the + specified merge options. + + + + + Merges fields specified by this FieldMask from one message to another. + + + + + Options to customize merging behavior. + + + + + Whether to replace message fields(i.e., discard existing content in + destination message fields) when merging. + Default behavior is to merge the source message field into the + destination message field. + + + + + Whether to replace repeated fields (i.e., discard existing content in + destination repeated fields) when merging. + Default behavior is to append elements from source repeated field to the + destination repeated field. + + + + + Whether to replace primitive (non-repeated and non-message) fields in + destination message fields with the source primitive fields (i.e., if the + field is set in the source, the value is copied to the + destination; if the field is unset in the source, the field is cleared + from the destination) when merging. + + Default behavior is to always set the value of the source primitive + field to the destination primitive field, and if the source field is + unset, the default value of the source field is copied to the + destination. + + + + Holder for reflection information generated from google/protobuf/source_context.proto + + + File descriptor for google/protobuf/source_context.proto + + + + `SourceContext` represents information about the source of a + protobuf element, like the file in which it is defined. + + + + Field number for the "file_name" field. + + + + The path-qualified name of the .proto file that contained the associated + protobuf element. For example: `"google/protobuf/source_context.proto"`. + + + + Holder for reflection information generated from google/protobuf/struct.proto + + + File descriptor for google/protobuf/struct.proto + + + + `NullValue` is a singleton enumeration to represent the null value for the + `Value` type union. + + The JSON representation for `NullValue` is JSON `null`. + + + + + Null value. + + + + + `Struct` represents a structured data value, consisting of fields + which map to dynamically typed values. In some languages, `Struct` + might be supported by a native representation. For example, in + scripting languages like JS a struct is represented as an + object. The details of that representation are described together + with the proto support for the language. + + The JSON representation for `Struct` is JSON object. + + + + Field number for the "fields" field. + + + + Unordered map of dynamically typed values. + + + + + `Value` represents a dynamically typed value which can be either + null, a number, a string, a boolean, a recursive struct value, or a + list of values. A producer of value is expected to set one of that + variants, absence of any variant indicates an error. + + The JSON representation for `Value` is JSON value. + + + + Field number for the "null_value" field. + + + + Represents a null value. + + + + Field number for the "number_value" field. + + + + Represents a double value. + + + + Field number for the "string_value" field. + + + + Represents a string value. + + + + Field number for the "bool_value" field. + + + + Represents a boolean value. + + + + Field number for the "struct_value" field. + + + + Represents a structured value. + + + + Field number for the "list_value" field. + + + + Represents a repeated `Value`. + + + + Enum of possible cases for the "kind" oneof. + + + + Convenience method to create a Value message with a string value. + + Value to set for the StringValue property. + A newly-created Value message with the given value. + + + + Convenience method to create a Value message with a number value. + + Value to set for the NumberValue property. + A newly-created Value message with the given value. + + + + Convenience method to create a Value message with a Boolean value. + + Value to set for the BoolValue property. + A newly-created Value message with the given value. + + + + Convenience method to create a Value message with a null initial value. + + A newly-created Value message a null initial value. + + + + Convenience method to create a Value message with an initial list of values. + + The values provided are not cloned; the references are copied directly. + A newly-created Value message an initial list value. + + + + Convenience method to create a Value message with an initial struct value + + The value provided is not cloned; the reference is copied directly. + A newly-created Value message an initial struct value. + + + + `ListValue` is a wrapper around a repeated field of values. + + The JSON representation for `ListValue` is JSON array. + + + + Field number for the "values" field. + + + + Repeated field of dynamically typed values. + + + + + Extension methods on BCL time-related types, converting to protobuf types. + + + + + Converts the given to a . + + The date and time to convert to a timestamp. + The value has a other than Utc. + The converted timestamp. + + + + Converts the given to a + + The offset is taken into consideration when converting the value (so the same instant in time + is represented) but is not a separate part of the resulting value. In other words, there is no + roundtrip operation to retrieve the original DateTimeOffset. + The date and time (with UTC offset) to convert to a timestamp. + The converted timestamp. + + + + Converts the given to a . + + The time span to convert. + The converted duration. + + + Holder for reflection information generated from google/protobuf/timestamp.proto + + + File descriptor for google/protobuf/timestamp.proto + + + + A Timestamp represents a point in time independent of any time zone or local + calendar, encoded as a count of seconds and fractions of seconds at + nanosecond resolution. The count is relative to an epoch at UTC midnight on + January 1, 1970, in the proleptic Gregorian calendar which extends the + Gregorian calendar backwards to year one. + + All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap + second table is needed for interpretation, using a [24-hour linear + smear](https://developers.google.com/time/smear). + + The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By + restricting to that range, we ensure that we can convert to and from [RFC + 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings. + + # Examples + + Example 1: Compute Timestamp from POSIX `time()`. + + Timestamp timestamp; + timestamp.set_seconds(time(NULL)); + timestamp.set_nanos(0); + + Example 2: Compute Timestamp from POSIX `gettimeofday()`. + + struct timeval tv; + gettimeofday(&tv, NULL); + + Timestamp timestamp; + timestamp.set_seconds(tv.tv_sec); + timestamp.set_nanos(tv.tv_usec * 1000); + + Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`. + + FILETIME ft; + GetSystemTimeAsFileTime(&ft); + UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime; + + // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z + // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. + Timestamp timestamp; + timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); + timestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); + + Example 4: Compute Timestamp from Java `System.currentTimeMillis()`. + + long millis = System.currentTimeMillis(); + + Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) + .setNanos((int) ((millis % 1000) * 1000000)).build(); + + Example 5: Compute Timestamp from current time in Python. + + timestamp = Timestamp() + timestamp.GetCurrentTime() + + # JSON Mapping + + In JSON format, the Timestamp type is encoded as a string in the + [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the + format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" + where {year} is always expressed using four digits while {month}, {day}, + {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional + seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), + are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone + is required. A proto3 JSON serializer should always use UTC (as indicated by + "Z") when printing the Timestamp type and a proto3 JSON parser should be + able to accept both UTC and other timezones (as indicated by an offset). + + For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past + 01:30 UTC on January 15, 2017. + + In JavaScript, one can convert a Date object to this format using the + standard + [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) + method. In Python, a standard `datetime.datetime` object can be converted + to this format using + [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with + the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use + the Joda Time's [`ISODateTimeFormat.dateTime()`]( + http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D + ) to obtain a formatter capable of generating timestamps in this format. + + + + Field number for the "seconds" field. + + + + Represents seconds of UTC time since Unix epoch + 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to + 9999-12-31T23:59:59Z inclusive. + + + + Field number for the "nanos" field. + + + + Non-negative fractions of a second at nanosecond resolution. Negative + second values with fractions must still have non-negative nanos values + that count forward in time. Must be from 0 to 999,999,999 + inclusive. + + + + + Returns the difference between one and another, as a . + + The timestamp to subtract from. Must not be null. + The timestamp to subtract. Must not be null. + The difference between the two specified timestamps. + + + + Adds a to a , to obtain another Timestamp. + + The timestamp to add the duration to. Must not be null. + The duration to add. Must not be null. + The result of adding the duration to the timestamp. + + + + Subtracts a from a , to obtain another Timestamp. + + The timestamp to subtract the duration from. Must not be null. + The duration to subtract. + The result of subtracting the duration from the timestamp. + + + + Converts this timestamp into a . + + + The resulting DateTime will always have a Kind of Utc. + If the timestamp is not a precise number of ticks, it will be truncated towards the start + of time. For example, a timestamp with a value of 99 will result in a + value precisely on a second. + + This timestamp as a DateTime. + The timestamp contains invalid values; either it is + incorrectly normalized or is outside the valid range. + + + + Converts this timestamp into a . + + + The resulting DateTimeOffset will always have an Offset of zero. + If the timestamp is not a precise number of ticks, it will be truncated towards the start + of time. For example, a timestamp with a value of 99 will result in a + value precisely on a second. + + This timestamp as a DateTimeOffset. + The timestamp contains invalid values; either it is + incorrectly normalized or is outside the valid range. + + + + Converts the specified to a . + + + The Kind of is not DateTimeKind.Utc. + The converted timestamp. + + + + Converts the given to a + + The offset is taken into consideration when converting the value (so the same instant in time + is represented) but is not a separate part of the resulting value. In other words, there is no + roundtrip operation to retrieve the original DateTimeOffset. + The date and time (with UTC offset) to convert to a timestamp. + The converted timestamp. + + + + Converts a timestamp specified in seconds/nanoseconds to a string. + + + If the value is a normalized duration in the range described in timestamp.proto, + is ignored. Otherwise, if the parameter is true, + a JSON object with a warning is returned; if it is false, an is thrown. + + Seconds portion of the duration. + Nanoseconds portion of the duration. + Determines the handling of non-normalized values + The represented duration is invalid, and is false. + + + + Given another timestamp, returns 0 if the timestamps are equivalent, -1 if this timestamp precedes the other, and 1 otherwise + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + Timestamp to compare + an integer indicating whether this timestamp precedes or follows the other + + + + Compares two timestamps and returns whether the first is less than (chronologically precedes) the second + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if a precedes b + + + + Compares two timestamps and returns whether the first is greater than (chronologically follows) the second + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if a follows b + + + + Compares two timestamps and returns whether the first is less than (chronologically precedes) the second + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if a precedes b + + + + Compares two timestamps and returns whether the first is greater than (chronologically follows) the second + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if a follows b + + + + Returns whether two timestamps are equivalent + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if the two timestamps refer to the same nanosecond + + + + Returns whether two timestamps differ + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if the two timestamps differ + + + + Returns a string representation of this for diagnostic purposes. + + + Normally the returned value will be a JSON string value (including leading and trailing quotes) but + when the value is non-normalized or out of range, a JSON object representation will be returned + instead, including a warning. This is to avoid exceptions being thrown when trying to + diagnose problems - the regular JSON formatter will still throw an exception for non-normalized + values. + + A string representation of this value. + + + Holder for reflection information generated from google/protobuf/type.proto + + + File descriptor for google/protobuf/type.proto + + + + The syntax in which a protocol buffer element is defined. + + + + + Syntax `proto2`. + + + + + Syntax `proto3`. + + + + + A protocol buffer message type. + + + + Field number for the "name" field. + + + + The fully qualified message name. + + + + Field number for the "fields" field. + + + + The list of fields. + + + + Field number for the "oneofs" field. + + + + The list of types appearing in `oneof` definitions in this type. + + + + Field number for the "options" field. + + + + The protocol buffer options. + + + + Field number for the "source_context" field. + + + + The source context. + + + + Field number for the "syntax" field. + + + + The source syntax. + + + + + A single field of a message type. + + + + Field number for the "kind" field. + + + + The field type. + + + + Field number for the "cardinality" field. + + + + The field cardinality. + + + + Field number for the "number" field. + + + + The field number. + + + + Field number for the "name" field. + + + + The field name. + + + + Field number for the "type_url" field. + + + + The field type URL, without the scheme, for message or enumeration + types. Example: `"type.googleapis.com/google.protobuf.Timestamp"`. + + + + Field number for the "oneof_index" field. + + + + The index of the field type in `Type.oneofs`, for message or enumeration + types. The first type has index 1; zero means the type is not in the list. + + + + Field number for the "packed" field. + + + + Whether to use alternative packed wire representation. + + + + Field number for the "options" field. + + + + The protocol buffer options. + + + + Field number for the "json_name" field. + + + + The field JSON name. + + + + Field number for the "default_value" field. + + + + The string value of the default value of this field. Proto2 syntax only. + + + + Container for nested types declared in the Field message type. + + + + Basic field types. + + + + + Field type unknown. + + + + + Field type double. + + + + + Field type float. + + + + + Field type int64. + + + + + Field type uint64. + + + + + Field type int32. + + + + + Field type fixed64. + + + + + Field type fixed32. + + + + + Field type bool. + + + + + Field type string. + + + + + Field type group. Proto2 syntax only, and deprecated. + + + + + Field type message. + + + + + Field type bytes. + + + + + Field type uint32. + + + + + Field type enum. + + + + + Field type sfixed32. + + + + + Field type sfixed64. + + + + + Field type sint32. + + + + + Field type sint64. + + + + + Whether a field is optional, required, or repeated. + + + + + For fields with unknown cardinality. + + + + + For optional fields. + + + + + For required fields. Proto2 syntax only. + + + + + For repeated fields. + + + + + Enum type definition. + + + + Field number for the "name" field. + + + + Enum type name. + + + + Field number for the "enumvalue" field. + + + + Enum value definitions. + + + + Field number for the "options" field. + + + + Protocol buffer options. + + + + Field number for the "source_context" field. + + + + The source context. + + + + Field number for the "syntax" field. + + + + The source syntax. + + + + + Enum value definition. + + + + Field number for the "name" field. + + + + Enum value name. + + + + Field number for the "number" field. + + + + Enum value number. + + + + Field number for the "options" field. + + + + Protocol buffer options. + + + + + A protocol buffer option, which can be attached to a message, field, + enumeration, etc. + + + + Field number for the "name" field. + + + + The option's name. For protobuf built-in options (options defined in + descriptor.proto), this is the short name. For example, `"map_entry"`. + For custom options, it should be the fully-qualified name. For example, + `"google.api.http"`. + + + + Field number for the "value" field. + + + + The option's value packed in an Any message. If the value is a primitive, + the corresponding wrapper type defined in google/protobuf/wrappers.proto + should be used. If the value is an enum, it should be stored as an int32 + value using the google.protobuf.Int32Value type. + + + + Holder for reflection information generated from google/protobuf/wrappers.proto + + + File descriptor for google/protobuf/wrappers.proto + + + + Field number for the single "value" field in all wrapper types. + + + + + Wrapper message for `double`. + + The JSON representation for `DoubleValue` is JSON number. + + + + Field number for the "value" field. + + + + The double value. + + + + + Wrapper message for `float`. + + The JSON representation for `FloatValue` is JSON number. + + + + Field number for the "value" field. + + + + The float value. + + + + + Wrapper message for `int64`. + + The JSON representation for `Int64Value` is JSON string. + + + + Field number for the "value" field. + + + + The int64 value. + + + + + Wrapper message for `uint64`. + + The JSON representation for `UInt64Value` is JSON string. + + + + Field number for the "value" field. + + + + The uint64 value. + + + + + Wrapper message for `int32`. + + The JSON representation for `Int32Value` is JSON number. + + + + Field number for the "value" field. + + + + The int32 value. + + + + + Wrapper message for `uint32`. + + The JSON representation for `UInt32Value` is JSON number. + + + + Field number for the "value" field. + + + + The uint32 value. + + + + + Wrapper message for `bool`. + + The JSON representation for `BoolValue` is JSON `true` and `false`. + + + + Field number for the "value" field. + + + + The bool value. + + + + + Wrapper message for `string`. + + The JSON representation for `StringValue` is JSON string. + + + + Field number for the "value" field. + + + + The string value. + + + + + Wrapper message for `bytes`. + + The JSON representation for `BytesValue` is JSON string. + + + + Field number for the "value" field. + + + + The bytes value. + + + + + This class is used internally by the Protocol Buffer Library and generated + message implementations. It is public only for the sake of those generated + messages. Others should not use this class directly. + + This class contains constants and helper functions useful for dealing with + the Protocol Buffer wire format. + + + + + + Wire types within protobuf encoding. + + + + + Variable-length integer. + + + + + A fixed-length 64-bit value. + + + + + A length-delimited value, i.e. a length followed by that many bytes of data. + + + + + A "start group" value + + + + + An "end group" value + + + + + A fixed-length 32-bit value. + + + + + Given a tag value, determines the wire type (lower 3 bits). + + + + + Given a tag value, determines the field number (the upper 29 bits). + + + + + Makes a tag value given a field number and wire type. + + + + diff --git a/Plugins/LC.Google.Protobuf.xml.meta b/Plugins/LC.Google.Protobuf.xml.meta new file mode 100644 index 0000000..be31832 --- /dev/null +++ b/Plugins/LC.Google.Protobuf.xml.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 4a58bc1bc837f4afe8ab6cc369f7cb7b +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/LiveQuery.deps.json b/Plugins/LiveQuery.deps.json new file mode 100644 index 0000000..b49ba21 --- /dev/null +++ b/Plugins/LiveQuery.deps.json @@ -0,0 +1,111 @@ +{ + "runtimeTarget": { + "name": ".NETStandard,Version=v2.0/", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETStandard,Version=v2.0": {}, + ".NETStandard,Version=v2.0/": { + "LiveQuery/1.0.0": { + "dependencies": { + "NETStandard.Library": "2.0.3", + "Realtime": "1.0.0" + }, + "runtime": { + "LiveQuery.dll": {} + } + }, + "Microsoft.NETCore.Platforms/1.1.0": {}, + "NETStandard.Library/2.0.3": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0" + } + }, + "Common/1.0.0": { + "dependencies": { + "LC.Newtonsoft.Json": "11.0.1-beta2" + }, + "runtime": { + "Common.dll": {} + } + }, + "LC.Google.Protobuf/3.12.4": { + "dependencies": { + "NETStandard.Library": "2.0.3" + }, + "runtime": { + "LC.Google.Protobuf.dll": {} + } + }, + "LC.Newtonsoft.Json/11.0.1-beta2": { + "runtime": { + "LC.Newtonsoft.Json.dll": {} + } + }, + "Realtime/1.0.0": { + "dependencies": { + "LC.Google.Protobuf": "3.12.4", + "Storage": "1.0.0" + }, + "runtime": { + "Realtime.dll": {} + } + }, + "Storage/1.0.0": { + "dependencies": { + "Common": "1.0.0" + }, + "runtime": { + "Storage.dll": {} + } + } + } + }, + "libraries": { + "LiveQuery/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Microsoft.NETCore.Platforms/1.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==", + "path": "microsoft.netcore.platforms/1.1.0", + "hashPath": "microsoft.netcore.platforms.1.1.0.nupkg.sha512" + }, + "NETStandard.Library/2.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==", + "path": "netstandard.library/2.0.3", + "hashPath": "netstandard.library.2.0.3.nupkg.sha512" + }, + "Common/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "LC.Google.Protobuf/3.12.4": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "LC.Newtonsoft.Json/11.0.1-beta2": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Realtime/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Storage/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/Plugins/LiveQuery.deps.json.meta b/Plugins/LiveQuery.deps.json.meta new file mode 100644 index 0000000..ba71d71 --- /dev/null +++ b/Plugins/LiveQuery.deps.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 2bbfef72cc14149fa9a7555eb4641b39 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/LiveQuery.dll b/Plugins/LiveQuery.dll new file mode 100644 index 0000000000000000000000000000000000000000..d42878ab13f8b17da749c812c050f03eab9b1023 GIT binary patch literal 22016 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 Q<<0+=l>Yy^7A)|80ScK~g8%>k literal 0 HcmV?d00001 diff --git a/Plugins/LiveQuery.dll.meta b/Plugins/LiveQuery.dll.meta new file mode 100644 index 0000000..dd283f0 --- /dev/null +++ b/Plugins/LiveQuery.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 934324478824f4ffca3eb8964f06aa48 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/LiveQuery.pdb b/Plugins/LiveQuery.pdb new file mode 100644 index 0000000000000000000000000000000000000000..1bd91b302bfe6f7daf2d1f0b4a6c135b5e96a35b GIT binary patch literal 12328 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 literal 0 HcmV?d00001 diff --git a/Plugins/LiveQuery.pdb.meta b/Plugins/LiveQuery.pdb.meta new file mode 100644 index 0000000..038f0c7 --- /dev/null +++ b/Plugins/LiveQuery.pdb.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: e8f2c7037e89d4ccf82bde98437f8001 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/Realtime.dll b/Plugins/Realtime.dll new file mode 100644 index 0000000000000000000000000000000000000000..ddac820e0df729b542ca17f3e2e92138f63e1ad5 GIT binary patch literal 299008 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 P-ikf<|Ns5!Y2beV9a)0yhte& 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 literal 0 HcmV?d00001 diff --git a/Plugins/Realtime.pdb.meta b/Plugins/Realtime.pdb.meta new file mode 100644 index 0000000..1e05681 --- /dev/null +++ b/Plugins/Realtime.pdb.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: fd765f8d247a144a2a1b6613a465fa20 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/link.xml b/Plugins/link.xml new file mode 100644 index 0000000..724110f --- /dev/null +++ b/Plugins/link.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Plugins/link.xml.meta b/Plugins/link.xml.meta new file mode 100644 index 0000000..13767a2 --- /dev/null +++ b/Plugins/link.xml.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 20f88fed12b0643bdb9662e500afdaed +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package.json b/package.json new file mode 100644 index 0000000..f407022 --- /dev/null +++ b/package.json @@ -0,0 +1,16 @@ +{ + "name": "com.leancloud.realtime", + "version": "1.0.4", + "displayName": "LeanCloud Realtime", + "description": "This is leancloud realtime package", + "unity": "2019.1", + "dependencies": { + "com.leancloud.storage": "https://github.com/leancloud/csharp-sdk-upm.git#storage-1.0.4" + }, + "keywords": ["LeanCloud", "Realtime"], + "author": { + "name": "LeanCloud", + "email": "support@leancloud.rocks", + "url": "https://leancloud.cn/" + } +} diff --git a/package.json.meta b/package.json.meta new file mode 100644 index 0000000..61231a8 --- /dev/null +++ b/package.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: e7977c2d002a04dde92b0caca81c26f4 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: