From bdf5cc25ba30f4fd76d68b4121d999b2ab3c89d1 Mon Sep 17 00:00:00 2001 From: leancloud-bot Date: Thu, 17 Aug 2023 11:32:33 +0800 Subject: [PATCH] 2.1.0 --- 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 -> 300032 bytes Plugins/Realtime.dll.meta | 33 + Plugins/Realtime.pdb | Bin 0 -> 105872 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..5673933 --- /dev/null +++ b/Plugins.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f802a4ca9a86f4fa194da452d8f2f988 +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..fffc9353fd12c7feb40ca05dc978eafe2402d737 GIT binary patch literal 358912 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%0Dpuq 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

#rjD_{1v$IpE@@Y8+s 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 $tt#F4 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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..e9e66d0 --- /dev/null +++ b/Plugins/LC.Google.Protobuf.xml.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 6781d252374be4a758717c8a2197f3a6 +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..df299a3 --- /dev/null +++ b/Plugins/LiveQuery.deps.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: f4758e207ce5f43d4932a9f590acbd18 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/LiveQuery.dll b/Plugins/LiveQuery.dll new file mode 100644 index 0000000000000000000000000000000000000000..9d741fa917de9da40b8eb2f1bfae0a05d15ae4a3 GIT binary patch literal 22016 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 literal 0 HcmV?d00001 diff --git a/Plugins/LiveQuery.dll.meta b/Plugins/LiveQuery.dll.meta new file mode 100644 index 0000000..762a38b --- /dev/null +++ b/Plugins/LiveQuery.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 2ef014b6c3faa42358e7818c1262aff4 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/LiveQuery.pdb b/Plugins/LiveQuery.pdb new file mode 100644 index 0000000000000000000000000000000000000000..ff31fd31782388d3d4aa124c141db819c9887b86 GIT binary patch literal 12328 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
m3sR+rrNi;O}w!mb* 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 h-z%F-F4B`!Hl8sBPrMuTGVJSyNvF{|B_7j;;Uz literal 0 HcmV?d00001 diff --git a/Plugins/Realtime.dll.meta b/Plugins/Realtime.dll.meta new file mode 100644 index 0000000..69d40ed --- /dev/null +++ b/Plugins/Realtime.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 99da52cbfe8434412851acb020bc7e82 +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..e1dade1d929a704425c77841a33755e447c527d1 GIT binary patch literal 105872 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�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 S?#AaL9{76<14Ms8zyA-OO4ZB& literal 0 HcmV?d00001 diff --git a/Plugins/Realtime.pdb.meta b/Plugins/Realtime.pdb.meta new file mode 100644 index 0000000..8d6ed46 --- /dev/null +++ b/Plugins/Realtime.pdb.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 7b30f174afb4143c4927b798ffeb771a +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..423f66a --- /dev/null +++ b/Plugins/link.xml.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 354eef75d9a5148f8a68ba27720fa885 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package.json b/package.json new file mode 100644 index 0000000..6cf5236 --- /dev/null +++ b/package.json @@ -0,0 +1,16 @@ +{ + "name": "com.leancloud.realtime", + "version": "2.1.0", + "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-2.1.0" + }, + "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..43ccef1 --- /dev/null +++ b/package.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 1fa62589379034907b564aace25e57a8 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant:

9u)-bWz?f0HNtH?K1a9Z1fl*h# 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