From 66f4d8da5bf75c0af45f585bccd27302ccc8ae55 Mon Sep 17 00:00:00 2001 From: leancloud-bot Date: Thu, 31 Mar 2022 14:28:29 +0800 Subject: [PATCH] 0.10.7 --- 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 -> 105448 bytes Plugins/Realtime.pdb.meta | 7 + Plugins/link.xml | 10 + Plugins/link.xml.meta | 7 + package.json | 16 + package.json.meta | 7 + 21 files changed, 9418 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..90180a6 --- /dev/null +++ b/Plugins.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 850441a65b5ea476b9ed5b45106f60e6 +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..d6b013020b937f53f231869e26ccba04753e7e4e GIT binary patch literal 358912 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

WT#ZF#7+q;X~vHk1-JID^P#XrpY$!srM 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 ZM;gG9O9rgQ&4BxN#P%Q9{QseW{{sy~m)!sW 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..1f52317 --- /dev/null +++ b/Plugins/LC.Google.Protobuf.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: fd85ed7b23a69481b96261eca94bb085 +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..15767a04632929bb0d37c2edec089eb8cdde1a98 GIT binary patch literal 142288 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 + + + 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..16b3840 --- /dev/null +++ b/Plugins/LC.Google.Protobuf.xml.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 80749ae9f0cc149e99f4ee61ceadd519 +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..478399c --- /dev/null +++ b/Plugins/LiveQuery.deps.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b01be9d735c694655b22ba58262a3d8a +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/LiveQuery.dll b/Plugins/LiveQuery.dll new file mode 100644 index 0000000000000000000000000000000000000000..226a29095cc66a76d96c179071b4ebe6d1d9e81c GIT binary patch literal 22016 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 PxBN#C_W#Q`TLb?a`AASO literal 0 HcmV?d00001 diff --git a/Plugins/LiveQuery.dll.meta b/Plugins/LiveQuery.dll.meta new file mode 100644 index 0000000..75aa997 --- /dev/null +++ b/Plugins/LiveQuery.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 909180194d53d42f5b115bda011af2be +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..36cb2258a033f0a1d9485dc344c02fd96c875d7f 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..6dbe8e1 --- /dev/null +++ b/Plugins/LiveQuery.pdb.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 599c19f9d87a442ff8e6720ba0e6634f +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/Realtime.dll b/Plugins/Realtime.dll new file mode 100644 index 0000000000000000000000000000000000000000..89d5a825755d14e9390449368fc0062871076e90 GIT binary patch literal 299008 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 A8UO$Q literal 0 HcmV?d00001 diff --git a/Plugins/Realtime.dll.meta b/Plugins/Realtime.dll.meta new file mode 100644 index 0000000..0387e0d --- /dev/null +++ b/Plugins/Realtime.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 5298e6403b2794c9e877ef1b4b14843e +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/Realtime.pdb b/Plugins/Realtime.pdb new file mode 100644 index 0000000000000000000000000000000000000000..a864894c87670be5241925be669e4b9ca9c1832b GIT binary patch literal 105448 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

pDfPn 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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..e20508b --- /dev/null +++ b/Plugins/Realtime.pdb.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 3c0320637e76b4af294c72ae7d70fcae +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/link.xml b/Plugins/link.xml new file mode 100644 index 0000000..a083f9d --- /dev/null +++ b/Plugins/link.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/Plugins/link.xml.meta b/Plugins/link.xml.meta new file mode 100644 index 0000000..16139de --- /dev/null +++ b/Plugins/link.xml.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 6119d8caff4594bb888881268ad3ed3e +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package.json b/package.json new file mode 100644 index 0000000..4669ea6 --- /dev/null +++ b/package.json @@ -0,0 +1,16 @@ +{ + "name": "com.leancloud.realtime", + "version": "0.10.7", + "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-0.10.7" + }, + "keywords": ["LeanCloud", "Storage"], + "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..06d51a8 --- /dev/null +++ b/package.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 2d91539b8645849aa855edb1bbfe94a6 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: