From 1734c5c7945b98ef9728dc6e05a76e2139ff0303 Mon Sep 17 00:00:00 2001 From: leancloud-bot Date: Wed, 14 Dec 2022 16:52:06 +0800 Subject: [PATCH] 1.0.3 --- Plugins.meta | 8 + Plugins/LC.Google.Protobuf.dll | Bin 0 -> 358912 bytes Plugins/LC.Google.Protobuf.dll.meta | 33 + Plugins/LC.Google.Protobuf.pdb | Bin 0 -> 142288 bytes Plugins/LC.Google.Protobuf.pdb.meta | 7 + Plugins/LC.Google.Protobuf.xml | 9125 +++++++++++++++++++++++++++ Plugins/LC.Google.Protobuf.xml.meta | 7 + Plugins/LiveQuery.deps.json | 111 + Plugins/LiveQuery.deps.json.meta | 7 + Plugins/LiveQuery.dll | Bin 0 -> 22016 bytes Plugins/LiveQuery.dll.meta | 33 + Plugins/LiveQuery.pdb | Bin 0 -> 12328 bytes Plugins/LiveQuery.pdb.meta | 7 + Plugins/Realtime.dll | Bin 0 -> 299008 bytes Plugins/Realtime.dll.meta | 33 + Plugins/Realtime.pdb | Bin 0 -> 105612 bytes Plugins/Realtime.pdb.meta | 7 + Plugins/link.xml | 11 + Plugins/link.xml.meta | 7 + package.json | 16 + package.json.meta | 7 + 21 files changed, 9419 insertions(+) create mode 100644 Plugins.meta create mode 100644 Plugins/LC.Google.Protobuf.dll create mode 100644 Plugins/LC.Google.Protobuf.dll.meta create mode 100644 Plugins/LC.Google.Protobuf.pdb create mode 100644 Plugins/LC.Google.Protobuf.pdb.meta create mode 100644 Plugins/LC.Google.Protobuf.xml create mode 100644 Plugins/LC.Google.Protobuf.xml.meta create mode 100644 Plugins/LiveQuery.deps.json create mode 100644 Plugins/LiveQuery.deps.json.meta create mode 100644 Plugins/LiveQuery.dll create mode 100644 Plugins/LiveQuery.dll.meta create mode 100644 Plugins/LiveQuery.pdb create mode 100644 Plugins/LiveQuery.pdb.meta create mode 100644 Plugins/Realtime.dll create mode 100644 Plugins/Realtime.dll.meta create mode 100644 Plugins/Realtime.pdb create mode 100644 Plugins/Realtime.pdb.meta create mode 100644 Plugins/link.xml create mode 100644 Plugins/link.xml.meta create mode 100644 package.json create mode 100644 package.json.meta diff --git a/Plugins.meta b/Plugins.meta new file mode 100644 index 0000000..2aaa956 --- /dev/null +++ b/Plugins.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 97182c9e7735b49d19300103ae256f90 +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..8ee50335625211dc72b3c852d5ac933a95f57192 GIT binary patch literal 358912 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

WT#ZF#7+q;X~vHk1-JID^P#XrpY$!srM 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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..c0779e3 --- /dev/null +++ b/Plugins/LC.Google.Protobuf.xml.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: c4518e4eb255b4253ae2ad22c442325f +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..2186ded --- /dev/null +++ b/Plugins/LiveQuery.deps.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 3da0275f82a7b4ffdbde401d44265fc9 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/LiveQuery.dll b/Plugins/LiveQuery.dll new file mode 100644 index 0000000000000000000000000000000000000000..d6a9a034a4104a19d66fecabb5865ef5dc90456c GIT binary patch literal 22016 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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..1fcb380 --- /dev/null +++ b/Plugins/LiveQuery.pdb.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 14c266445aba449f793ab8e9ddd2d17d +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/Realtime.dll b/Plugins/Realtime.dll new file mode 100644 index 0000000000000000000000000000000000000000..13375b2ac7149f72fc918ad5ccaca0a235b5d26a GIT binary patch literal 299008 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 b7GJ+2-S5=j_aY{S3U9@p`~Uxb_cZW7$1t99 literal 0 HcmV?d00001 diff --git a/Plugins/Realtime.dll.meta b/Plugins/Realtime.dll.meta new file mode 100644 index 0000000..b942fd5 --- /dev/null +++ b/Plugins/Realtime.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 97c21e446772a476e9fa9b54d4a09421 +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..a8ef6d3aa8a272d0aecad06b3d06a414ae883b56 GIT binary patch literal 105612 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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..4875b5e --- /dev/null +++ b/Plugins/Realtime.pdb.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 0dcac2c678a814dbf9b3ce1da2aa1efb +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/link.xml b/Plugins/link.xml new file mode 100644 index 0000000..724110f --- /dev/null +++ b/Plugins/link.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Plugins/link.xml.meta b/Plugins/link.xml.meta new file mode 100644 index 0000000..c01abb1 --- /dev/null +++ b/Plugins/link.xml.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 3f9a0ae75f8a54374ae8d911a99b522c +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package.json b/package.json new file mode 100644 index 0000000..ddf4c00 --- /dev/null +++ b/package.json @@ -0,0 +1,16 @@ +{ + "name": "com.leancloud.realtime", + "version": "1.0.3", + "displayName": "LeanCloud Realtime", + "description": "This is leancloud realtime package", + "unity": "2019.1", + "dependencies": { + "com.leancloud.storage": "https://github.com/leancloud/csharp-sdk-upm.git#storage-1.0.3" + }, + "keywords": ["LeanCloud", "Realtime"], + "author": { + "name": "LeanCloud", + "email": "support@leancloud.rocks", + "url": "https://leancloud.cn/" + } +} diff --git a/package.json.meta b/package.json.meta new file mode 100644 index 0000000..8302421 --- /dev/null +++ b/package.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: e206d2d869afa49c2a70f8d53efb48d6 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: