From 268667f50a0acbe24424d23bd913fec9a1b2f561 Mon Sep 17 00:00:00 2001 From: leancloud-bot Date: Tue, 1 Mar 2022 21:08:55 +0800 Subject: [PATCH] 0.10.2 --- 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 -> 12244 bytes Plugins/LiveQuery.pdb.meta | 7 + Plugins/Realtime.dll | Bin 0 -> 298496 bytes Plugins/Realtime.dll.meta | 33 + Plugins/Realtime.pdb | Bin 0 -> 105380 bytes Plugins/Realtime.pdb.meta | 7 + Plugins/link.xml | 10 + Plugins/link.xml.meta | 7 + package.json | 16 + package.json.meta | 7 + 21 files changed, 9418 insertions(+) create mode 100644 Plugins.meta create mode 100644 Plugins/LC.Google.Protobuf.dll create mode 100644 Plugins/LC.Google.Protobuf.dll.meta create mode 100644 Plugins/LC.Google.Protobuf.pdb create mode 100644 Plugins/LC.Google.Protobuf.pdb.meta create mode 100644 Plugins/LC.Google.Protobuf.xml create mode 100644 Plugins/LC.Google.Protobuf.xml.meta create mode 100644 Plugins/LiveQuery.deps.json create mode 100644 Plugins/LiveQuery.deps.json.meta create mode 100644 Plugins/LiveQuery.dll create mode 100644 Plugins/LiveQuery.dll.meta create mode 100644 Plugins/LiveQuery.pdb create mode 100644 Plugins/LiveQuery.pdb.meta create mode 100644 Plugins/Realtime.dll create mode 100644 Plugins/Realtime.dll.meta create mode 100644 Plugins/Realtime.pdb create mode 100644 Plugins/Realtime.pdb.meta create mode 100644 Plugins/link.xml create mode 100644 Plugins/link.xml.meta create mode 100644 package.json create mode 100644 package.json.meta diff --git a/Plugins.meta b/Plugins.meta new file mode 100644 index 0000000..c7afb59 --- /dev/null +++ b/Plugins.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: dfa509c9329934ebe88956720633b5d2 +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..59b762191b27c363c1180e9c238e22738e110fbd GIT binary patch literal 358912 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

=adF{`Cf|iN|i@s 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

uyY8bowpd>&ACdDM1twoeHB+D(%Z` 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

R8u96`h`+ADa2j9|ZxsgP*Sr(aygIpNS;9DADE> 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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..23ab479 --- /dev/null +++ b/Plugins/LC.Google.Protobuf.xml.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 30796855690d240b4ab60a9ecaca8170 +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..2acaa2b --- /dev/null +++ b/Plugins/LiveQuery.deps.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: c275dd3d1b55444259ca8d51184f328b +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/LiveQuery.dll b/Plugins/LiveQuery.dll new file mode 100644 index 0000000000000000000000000000000000000000..5e5db3df71f98c89347dc1f956ca471d5cbacf06 GIT binary patch literal 22016 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 literal 0 HcmV?d00001 diff --git a/Plugins/LiveQuery.pdb.meta b/Plugins/LiveQuery.pdb.meta new file mode 100644 index 0000000..1b260dc --- /dev/null +++ b/Plugins/LiveQuery.pdb.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 02630f362e72a4a8392ee34472a14ddb +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/Realtime.dll b/Plugins/Realtime.dll new file mode 100644 index 0000000000000000000000000000000000000000..9b914229ebc00eec89df91a852611b479d5f6312 GIT binary patch literal 298496 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 M^8f$*;%VT20f^X}Hvj+t literal 0 HcmV?d00001 diff --git a/Plugins/Realtime.dll.meta b/Plugins/Realtime.dll.meta new file mode 100644 index 0000000..38e090e --- /dev/null +++ b/Plugins/Realtime.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 4450b8c045df24804abe20dd46a42471 +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..ad8f02acbb361ad7e6e264f50d6af86122e63809 GIT binary patch literal 105380 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 literal 0 HcmV?d00001 diff --git a/Plugins/Realtime.pdb.meta b/Plugins/Realtime.pdb.meta new file mode 100644 index 0000000..3316be7 --- /dev/null +++ b/Plugins/Realtime.pdb.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: e14330e2bb6964a5e8588a459f62a92b +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/link.xml b/Plugins/link.xml new file mode 100644 index 0000000..a083f9d --- /dev/null +++ b/Plugins/link.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/Plugins/link.xml.meta b/Plugins/link.xml.meta new file mode 100644 index 0000000..bf93690 --- /dev/null +++ b/Plugins/link.xml.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: ab327223ec7ef45c3b01c674ff164a2b +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package.json b/package.json new file mode 100644 index 0000000..6725d09 --- /dev/null +++ b/package.json @@ -0,0 +1,16 @@ +{ + "name": "com.leancloud.realtime", + "version": "0.10.2", + "displayName": "LeanCloud Realtime", + "description": "This is leancloud realtime package", + "unity": "2019.1", + "dependencies": { + "com.leancloud.storage": "https://github.com/leancloud/csharp-sdk-upm.git#storage-0.10.2" + }, + "keywords": ["LeanCloud", "Storage"], + "author": { + "name": "LeanCloud", + "email": "support@leancloud.rocks", + "url": "https://leancloud.cn/" + } +} diff --git a/package.json.meta b/package.json.meta new file mode 100644 index 0000000..7bcc4aa --- /dev/null +++ b/package.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 305a8e63f4bb443d08214d556ec69e93 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: