From 1ea939221cf0a9dce6a51a5e2d2a904ff0d82740 Mon Sep 17 00:00:00 2001 From: leancloud-bot Date: Mon, 29 Aug 2022 17:00:13 +0800 Subject: [PATCH] 0.10.16 --- Plugins.meta | 8 + Plugins/LC.Google.Protobuf.dll | Bin 0 -> 358912 bytes Plugins/LC.Google.Protobuf.dll.meta | 33 + Plugins/LC.Google.Protobuf.pdb | Bin 0 -> 142288 bytes Plugins/LC.Google.Protobuf.pdb.meta | 7 + Plugins/LC.Google.Protobuf.xml | 9125 +++++++++++++++++++++++++++ Plugins/LC.Google.Protobuf.xml.meta | 7 + Plugins/LiveQuery.deps.json | 111 + Plugins/LiveQuery.deps.json.meta | 7 + Plugins/LiveQuery.dll | Bin 0 -> 22016 bytes Plugins/LiveQuery.dll.meta | 33 + Plugins/LiveQuery.pdb | Bin 0 -> 12328 bytes Plugins/LiveQuery.pdb.meta | 7 + Plugins/Realtime.dll | Bin 0 -> 299008 bytes Plugins/Realtime.dll.meta | 33 + Plugins/Realtime.pdb | Bin 0 -> 105448 bytes Plugins/Realtime.pdb.meta | 7 + Plugins/link.xml | 10 + Plugins/link.xml.meta | 7 + package.json | 16 + package.json.meta | 7 + 21 files changed, 9418 insertions(+) create mode 100644 Plugins.meta create mode 100644 Plugins/LC.Google.Protobuf.dll create mode 100644 Plugins/LC.Google.Protobuf.dll.meta create mode 100644 Plugins/LC.Google.Protobuf.pdb create mode 100644 Plugins/LC.Google.Protobuf.pdb.meta create mode 100644 Plugins/LC.Google.Protobuf.xml create mode 100644 Plugins/LC.Google.Protobuf.xml.meta create mode 100644 Plugins/LiveQuery.deps.json create mode 100644 Plugins/LiveQuery.deps.json.meta create mode 100644 Plugins/LiveQuery.dll create mode 100644 Plugins/LiveQuery.dll.meta create mode 100644 Plugins/LiveQuery.pdb create mode 100644 Plugins/LiveQuery.pdb.meta create mode 100644 Plugins/Realtime.dll create mode 100644 Plugins/Realtime.dll.meta create mode 100644 Plugins/Realtime.pdb create mode 100644 Plugins/Realtime.pdb.meta create mode 100644 Plugins/link.xml create mode 100644 Plugins/link.xml.meta create mode 100644 package.json create mode 100644 package.json.meta diff --git a/Plugins.meta b/Plugins.meta new file mode 100644 index 0000000..b8cb115 --- /dev/null +++ b/Plugins.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b4a50182d33904866a51fd0e1ad4ad44 +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..c7f7b1d445d67b5c7cb6b4ebeda2bd3251c71e76 GIT binary patch literal 358912 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

WT#ZF#7+q;X~vHk1-JID^P#XrpY$!srM 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 literal 0 HcmV?d00001 diff --git a/Plugins/LC.Google.Protobuf.dll.meta b/Plugins/LC.Google.Protobuf.dll.meta new file mode 100644 index 0000000..eb7bb5d --- /dev/null +++ b/Plugins/LC.Google.Protobuf.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 988da30f79a5245a6b290564d23c7989 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/LC.Google.Protobuf.pdb b/Plugins/LC.Google.Protobuf.pdb new file mode 100644 index 0000000000000000000000000000000000000000..2036cd18ba16b296d301a49f0cb5b52663138c73 GIT binary patch literal 142288 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 T4vHl+ + + + 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..a35b57c --- /dev/null +++ b/Plugins/LC.Google.Protobuf.xml.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: f7158dec4ad0940fda3338a952eb7c58 +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..b3d5635 --- /dev/null +++ b/Plugins/LiveQuery.deps.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: ea69a18d7f0694532b9d6cda913c660f +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/LiveQuery.dll b/Plugins/LiveQuery.dll new file mode 100644 index 0000000000000000000000000000000000000000..041e293f9d8e5f1c6b15380c27833fc83f99f6c1 GIT binary patch literal 22016 zcmeHvdw5*MmFKy)Z{OQ}yCu}Emmjj-^0TpIS$<+0*;tl@Es!l+lCgOta$CB#8@Kw( z-7RC$7LkI1kii2^V6x0G6O%AsLI(2Kgk6Rt6S9FXVH5V7WXS7VtPeu6*<_LpnGD|~ zyMx)^Id%IX*$|f9zvkP9TUFy!)mH$VWs5p10m2dKxuuKa(g_CQAAlLFsfZcKtb8)Ek7JW&|9(G=0ZY}z})F`_^jJpg!D8QhX{PUQeU zw;Kg$qN^u2Ao;|I4z*;mnIS+T+awyS=w3W!pY3p0OU6mL=*Y6tc|6Q(mcZMIb^tr$ zbDr&r56h;LpPt)BG`xyP6D(02dY8-Xq2IPzsOK#RxpJ}Yn~(+&u!BNKW1$|85ZNn< zs#|rs3Y;)kBueopuoLsqH%j_MgVePX^Q1nl&~fx^ijqL_8evl40dv z4~34SC-Y#ajK^xo0rwYqEceDPQ)3kvM-Lv$P}x|_!*1cRwXDOH-q^SrtH3yVG_9oh ztv*@}HT>wWXV4gpl3R~a%@vs-Ak&=#V3oE~&r~x}Q$*VugWU7O0Z;<&Ty&|}^b)2G zx-gJE20rtvjfk=NS>Pf@2Id-#`eo?mCmH1*TL(K=n-MbuYmCOx!Ctis5cKw-4nSLr z&^AEbMQAgi{Y7X!prInPx@lv?h=;IJo4U|I0Gds0XjE`x9U7I~Sc%3J+-O7t>(OkQ z6NiuO=19f`tB60o08o4(ilDm)<(9^`-g;}=4mO)XHwO6Sm84;uPTT0eE!Au&CGi7S zaEgfNFh0V{Y@V-2H4Y`SIb!Bv7h~Bfefdhuh1x3Se6$8*5Syhj%Zpv)t_%hb36j zd!wE?2jdrlY=tF(6b>{m2*eTib{y8VE6h9$tXKx!6~ax~f%ze35yu~AE?yklro>vv zTIKiE?5kUO2Yh8%QQgIIu$%2b)aPPF*dEmv+*e<)>$TvA&fq6fmH5Gp^Nai}5iRVq zGGD-~E(Y5&VH{?$_xbh)+-5YGDeJrzJQ17V`TR^7F;R)9&x*s?O>rpNROmQ7%sd$?<|sd9 zpa*~S`iVMFR1U^0$fAaxMHaRvkh=_B*Dsne#D8`ZP+4>}Cy$ffP{W zfvrk-T;uV;oXkU^P<%Uv zDPJ?MXqi07mm<$~Qu`*Zm%4Uhm(-^fnG+=QVyH|m*nyCDin{HUG5W+lk4LZKq0pRL znFm82kNK^B+KzPse@5aE-uBfQF66asv;HjHqb;ku13KED;B?#+Qn|NI&$ItC7qB$U zco)c$fUV5Wd9CPb|9Bdb1>#tnc7>kj7zsuVcPGHjlb~3cf8@SuuW7ys8x1d3-e{UP zVVn3D5M_x9gK7&XO)Fou)q#i+u_A#ijAXkoirusT7`0zzVMz~(Zk7v!+MWz<58BI{ zu2YJ1WUc_$;C)bBQya-{=G1IvHUKZXT{EQTNOt!yC93BU1xRYXeC9%yCcpAh4TznUNII9dgE^N#vM@O6q+|vjs=E_v0#$vBdP}vJ6K;=QllKPAo)MT^-|0Nj^;%j$mp%&xC4IKh5>U zTG&t1YrS#c1XXR$XqPgte`n^wcgZ{pyV=WRE3x=^XS%Sm?cOBVs}VdN_GZT3QXqwO zZ`@Aw2zb5w(G~-G@QoaL@57L4D{95xkH&piftpY!7C_zjAoDxKJp$1{Jb?zRHm9gq zU}90pY5|>3HBA?=C&6k=s1E3-xxQEn_slO@Ef7BpP8GrCB|&~8u;atb7;By9%#1@S zg%?3G9|c@(#2xgB7&WR>O}z`2P3}=3tAo*C{1|g+*XI^R3r@sJq6Kvhyrv5eA%gTg z6RLyyX|6BUBJj&Z3&xY+q>c+-%2;7}i=7YVrj@;w=d{(KfzSJ9#CDGZHyx`E>5DF^ zfT|Jusd$Qn_#MTbo_ASld;~Ns$ikXN_M@+2rf=hcgtDeLDn`C|TJ@dZYSL?I1-&D@`_o*nJ>ex6=K$4O<;yWji{jvx=mIH^VcKB1hNZO z$YPXHY|pS;)AX>OXKXd_T$fps2Z0S+b9tGqT$d5kbF2Mq4B;#sal95ARnJ6w#^G}{ z-sI`i|AFRW9u4+jG0N;=&_(pXB8NSefn=MT{|X4t78-Py7XmNvf6jqF3Q0WpcYwi zqris~qy#{ybVAiFH^bJ?qL{!YWDw@x)8y)>8HneA_736AHwRsuc~y2T6N{7U+l%!< zxc*&;m22Ul-1=klp7Ftcft;K`bEv$7mu`hl~Sm1r!ps$05_=3NhL4v>b=~+Ll zvP{pn0O1;FPpn2u&vSVhi>X-T(QsrdSL%chMUqXOPp-=JBZ01V6p&-X#fj3=v1B3NE z6Od-Ox>yT4s11)tfzKrPgkh~sJi2b;YE--&^XlL_FS8E$PR}#dokG_*7MFJl&w~|0 zu1L!4N7tID|6(n))gpfPPIOg=F5V0F1HvB7OIHNOmeR%yl*HIl5aLZ2Iz(b7@UFsj znU_RlLvqS=H4bGsw{2k-^&<8(RAupTinr>we;&5e^GwdM52^!7p~gr+j?tN9Nv|_+ zuNRZvjb7X2SoHRKO{ewzA6H7R5q&K6B5)Vx28QiBt=*2~6XdlebBN6%IW|AC(O4_xEK|a-hRK)Z7V*zkYc;MecPTB||X2kCy3|c7hi$LZ0 zy#^J|AN$SvtACGiN(Xs=@yGW;6HCIyy&Fx5iLz|Y=WynNDBRAKdPByVZQzLb1GwpV zCScieRTdCD%3HRUWnK1Wz$)DgSn6f~{UCYy%>Xcq7z0y_BDhZ&$u3|mE05g>>nvi_ADrN31Zg7QiH5vjtJhWcL*l$zV1s&|$GP_cgIwIL z`o^)n+0}j=li6RFz6h~*Sr%TccuR+Scc6^oEo%Y0_Xki$&ohDFvbZkuFOT!yvZkZe zmYP3ex%Xkp<-FcSp0j||y8yqY90Rm!oA^mh8<^M$Hr}*&O@Z^9rVs0R#_~G~*JZ~q znKK~AuP_evvgm|SjaW_b!P@&%%%iruOQ?bP{UEO7{hvPxJUH;sKj4Yt;e3Qje9G%` z7oM1h$Jv(6a=+xZ>(Q%p zX`-tIsOK5&o&)y@qzGfqS*&tgzUX;|KC!GmR<#1`J_7nD;+Vj8A4I{66`7>4;jkE3 zthmE~S-Vm428*a`y6_#yqUV`_#md#iTBLQg;qWN%`7`iQv#q;H)w0BRPutH^s3j&- z1Sj@jj5h`Lv>1CXrRN!o4UMa^U=jX4*&UifnTKJ6?8m_Hb~sVa(897tv{oz&M`?L8 zyM%h_`s1_O=9#`?<0;Y!gs9ambcCGN)PT0J#OGi-7Gb$`|?2uQd}=P`mfuesgy6@f1h06(%Q1Fb={iH7yxc5t|CNB?!fo`sJB<3 z-Ji=O(?_#RdIF|c?*ndsKfThZejl)8=l*W&)bu*wTnMxsDfcjU#z#j+Kd|T%p&;<| zKecuI(h2bho2%?U2qL-~4|E_*MIXas;Msx)?4&Pv2yPzg`5un-WM7VoG<gH} z4Dl?Fqkkn$**}E*pS5_@An=vc7hDbe*Frs^N^;OP>8B=Bcc6^YYk~c~C_QHGXDxzz z!RK2d)gxhUf7SO$z@)GExLs}T4A)U(@Jt{|i-Ore9la4c1L_|jZIrGBACr8rl1-}u zpAMV!4BAmzW@OR-lc6kn9)>RLrljrqCbRx7TzH3DWpWxVkpet2!M9hK4yLa zP@VL=XdN>*!0&S~PZhlmr%&JpX|X`{;5mV~St=06!vrm(xLHVO2)KnD=l zCUqHAuzZ^_2W8S&hO$1$?f>QH@}k*{NS^Ckk8+joDlv+1Gh%1ux|#>b?B+l`-3AWKVfH3em8Uy z^S?bg?W<8n!>s8# z?I&Iz=1?xbvI+ORCCq-Q(S9R6e~0qj&Gjj7uGumaIBT?3Bxect#t z0!;`r&dY4=jbdTlSV!020#{l-hgC8TA({ABharr$PC|T)zBv1 zTIo*e58vspr86GXVr)U~`IbOa^l{&aRY$E?a?dGh4r$0l2R&$cn4t$es1`HKp_c@D zRof;sV-=5kRlDe$4_b`}F>Nl@w3KLbX{iS>Z60l3U82pSy&lB0`Sf~giH7}gje?lg zK(BZZ&(}b&m(do`b8AcE7SKx`#N!synGGe{LVD1Hn6`)-t}4+MQL_gzEk>{7-lCvi z46i5(Vp=0T!kfCMdm}yJK}=grXZR4{(H7H#9>laIG~8CAEuowTF>NV*X&oc+1y?v)S3XFYSxDtQ|IF{D(zdOtVd6s z24rld!PNg3C3auKwWLY>Y7)0=G{z@|dZo70SV326 zzX`2EIf&J_8JL48855>o_@~gb+x{?C-r3+oh`}F)9>YGetm1KcRNG^G4(%uGXSi)X zi*MPtg`cOt)z%yA+oya##E$%w?+qHqcaU#lmu1YWH0G<-&e87z3$!-DbjmC}bWP}b zEll4w->;3+PQyX@Ip1;Z1x*W2qMR2#r`|l8L~>34i{R(&9MlpXke&AL|M2V*z+Ud&vC^>EXP7vv zjcX@@FB;E@B;OH9z9W*{t342AnQyoM#hB76LT?)PY99n9fymTwR_CmKMl2H+X;WgE z-)hr#kN>pHb%y!^H~PATba0wu%uqP#tPzyBqX;boEGWszYG zJX?iTyPkgM58x#Ddz5WxSJHNR(;uTDny^~1lDVv=52Bn;e}ZxeeFkL{eG%n4`X$P% z=?^G7$PBd5^;C_rU+_1h+%9|$NjW6kCZ+u>9jAqXZ%F$Uv< zMaq~ZcqtdtHPj6o4bcm9fh?^_>(fqXpVywzey-tH)%sd}m)@t}qQ9d5QvYZDCEr`V z7UPWZ?~EsmTK|>)QUBljb>wcM@9R12A#*EE;e5rXDh=7)CyyU(18>YGqJ06%Yq2w0 zIAJb8c^%pT>OnhzAFD4yF5ZiFkowTJ@l*2!C~rVJLP6)br(oz>olCy6_e74$1SOY{}AO8)?Lpx%w= zfPOFixxR{ihW2mtCuyVaNy__P1nx=92~Hu@*5e*crne0b4z6vbw*Ilh*`ZAGu)_$zz3Dz@$W5o6 zp`0@;oz^gNFRoe!k|T~gmMb8)jSUX2p#x6hc%O5`$vEjD=g=A&NMw(9xFe$}Czo{7 z{q9&s(A{0>u@NVeIGieULf`fw?t@03lNjzzr^Y+nR0q%yFsM@w&H8^-%CNYX;Q6CX}Ee*Kc>D;=t)Ha;RCAMvV z8K^Dmq=$Jb56t97`kl;4C*#4np=^OtFiwX%md<&|RPv;=Z_LSzdvHIvvB6|Q$O1#H zEhxK|I+LPdA~SvnGZzHqCi<-_VbJVQj$l4())U0uxSsXNI^u*i8{j@n)#scTbFvDx zQK1I#w<$8}s#zXhvk6>NZdTk4;HZ-u+&^$Fu=~^5@=(ClTib4Tcr4{?ql}uMoBFys zdiU(<>KGX8-ZRkEcLTmd?ccv+aBpAlKyOEH5AAM0I9Td4(7n5>pZdG@bPjT}cmDwO zbo3s+6&~({>51)6{o~o3GtyG>e70q$lXf!6A(5?nn4s+-s!r!*a>zl0MQ$G*^;(J_ zfcD{Gni0GtF#@#`N1WcY7n6<}-<>VNdz{;LjwOewt$TRe@xj3ziJ{~0-L*+41)Os0 zY&2V)(oQa$OQeSrnPKX25^0!qY?zAciOLKL;fL^NQ`D7~s@S`wA5oh)>Ok<_PByDr z9jT;~&K2O@P6qVu^hx(Ps?sW=?#^U()XnmW5|ebK64~sY#E8SIDV4)orEXb5{kcTW z*_{|VmP|X;@8o8{(4a)TA(0w$2F6Dn_^HFquvii+2w9$r;r*lVnh-J$H`p1-C!J2p zIm&R`wl#x;!W5ku3mls|nQ}7XS9BU~&*AF!@EAy)&f&46M_Gpwu05M|Mh>UO2a>s& zXrzO3*-Ik^60lM3TKvhHbDNtvULq*=PG(nfc-Tpo@Li{JPCAP;Q$iJHy%v(*;AAdO z>`otXGb0I3P>Iyr_QI+?k~}(=k$$BaloQQhE(Ss| zwD-8Vc9&cl;I=?x#WQnEPa6zsd7TssUc@nIw8=IR?1*? zPADNt`3|8vB5Yfbb#rby>mJFqT$cq3nQ*kAW=}GGg4%iezrjro&)EJI`jS%t@=k7W z@US`}u#)c4qfQ2m{aI9n#3KNY^-d2Q%!OueT0DUvEDjXK?hntrqh0%O8j@N126lVx zOc_cYA!NnKVS>6c8T_uZki?PtndYT*hFXSHDV4V|b|w=?({47G9Li!5?oTIAad7WW zrc%i)pGAhV1*;WSt;#b_hNs7lne~z^RxvNGEEP^GNwhN#5_>v}*5UCSO7^})Ru&dr zKRB4fp92^84;;f<7zUdbHer^!PK+f|MQSM&A*W;>wN(sX?~G^ZI2SM~))g$g%SmK% zJFtJSrwZX%LLMuUua#_D<^ylPEQPkp8sOtKpmZ{kO5W~xa3>B+Gcigyj|`Fcq>GFQ zQ%VcFRx(=x)Mi|UQp44bQzqD@i|&APxZfQ*?l5y4VW<;3AG@yi$PodZBZ;w8jw1kc zZeb01Em$a*8&y+_OUl5Wjv`~P!;qX8q+iEa2Ip{LT4-X&%;cynrl}*5<;jZY#=`Lq z;l-zC+KXsI<|{k#6SAjT)3h5K#~%K}XD>YYpef9xA%7ChF|^0M4Plo`jAOmRG;+A7 z1IMrjr^mgd3>)LG07az_Uxys@EDcXrQMD%G3m8W{zIZzqOm1aH3-9LDdKa{SvR3p)@U#TV5s z-gv2E2yeWO&>TQxz^R^qLJr=HbD(C>PD!tmD5+u?CBsZ(iVJ>8^rgl5qlz;6^DJrT zHry1jY^-BRPV$SKi&)MiXl$VYv{+K+#xldMbF%_xL2=P%0OfJ%O)GkUV>|9E>b@Ey z$6%K%tdarsFsRgYxqf5db(y}QgjlLXFIn8&km zKi=58=Wn*{KK9Uwd%jJ+7->dK(*k}Jky>t6ax?lqlgr5|!_p#i{0QgChpblIN>?q! zB^^*kjG_(`8yIZhR*YLQZY`Aof64IDI?HNksEsBy6eC>h*DD(uDoxc0#B{xys;XHC zy}>X20x{yQ)dUbDFcX@j>y?%G_M|r2u16-nUkOBIWrIPG7dq&srAGtNt>C&@i*98N zswrgo7*`wZ(keqd&TCsS9n@+K<0>)5X05WqGNJ)bv}m_QTJ%J8@>LUccl3nf*&Viw zhRWLLjT(3czz%9C2y{lmUV4>GT3~bnsA^UNe6}j9o(Nbv$YUC-iZWcKX{_@?icbE* zXKR&L2x1Hfg_drWVv#PeV&je*@Wwc|;#O^B@=44cgk89W4lsEfp;#N8d>o*1;#1tY znMuu6EO-Fazs0=l2|tX{Fvnu^Ebs>cP(~Vt8J(12tvsxi8La2ldTwnB$!v-NV>dCj zjazNp+Rm-*i>x3lB;GEc(6dee9)!}rwqm|Yo|q?m!>-cwg;cp9I{Djx?FonOx<$Jy8zPf;MJDfs zMrYw}sT9rg^(2@h`tPz^b)BQXYN2M?2*JCsEU*Tqg5n%8C9jfu5mh$(gB^fa@@jSo z&rnV5GoC4A>s||si8Nj8F;zRaRfEql7IyHgrz)M*e%w=!9dOobU*R!Q-6C`5S!Pkc z%Cdei$E>am^DMt-h=K(a6LiJJY~`%(vARNcWg6H3Yhm)7XO5*I3A;z(h-xhiVIM85 z5GF(>|JoyP%Ue3Uw6&0BKwf56WEB@&)eKy7%)-BTP!pYeUYTw3dG^8N3mC;h;D1}@ zht(&a=YaDXV(rQ2!v%9=9R9!?$)oa$m=SdO$`TE5&xw1|mfZi
*}ys$#S!|m5y#+3^=_-xZ{?Soocd~Llj$eYT(Wv>4j+2`kxz2}t_(k*j zKRRN@RkV!6uUy`Kq`bfsZ=+_ZhdH}6+J3n?3pZ-z#wor@gUyU@BIsI;+TSe~@6{N$ zKuxp0hoDZ4u6ZwPO-V3wheTFcS-%xd88Mmd9>ErlT%Z|m`65cg?>Owe`o(w|Drwhul;qMcWvDN!^bxCeUo{tKIV=%tMQM|;R~VFe6_!N zD0?iC8C{hfp3y7{zPi|IY406a?H;~$wU=&ImwjD>j8)cgboem!?`mJWVIz4m{BuDD z=(+x_|M-R5j-UPLJqr)K`GE(aOX2fbZpRAH%=&y;KO)?xW;#=;-3i<~kKk@8<2WsR zna!WKmVw7?bIfG+e+2QbmgV0)n4CFG{kk5BUY6{rK%dFYXWqQSZSo3zSp8YW(IRe?QJ!yZYrldyeo+2lc@w=WQV#0u{%i2Cn=* zd@bHQ`R1b=@1J~Yz@Me~MxFohy9|2pn>XKI6yCX|1AX3D3RyMCltVA|?s^$c(x(;o zB>V#-z@MPj)Hy+$xYE^Y*Cs^*^zHI_-<$nw-vcEDKBrwR{VxS z!!J+D$IQ0K8rXwv!oE^=Z-=${R%HYpOvxR}>@hQKsK#RWzx~f4`S;D}*{%QfRsH`O IUTT5=4WofiwEzGB literal 0 HcmV?d00001 diff --git a/Plugins/LiveQuery.dll.meta b/Plugins/LiveQuery.dll.meta new file mode 100644 index 0000000..ba1a9ea --- /dev/null +++ b/Plugins/LiveQuery.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 02fedff7080de442ab4b2b40b5cf9eb0 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/LiveQuery.pdb b/Plugins/LiveQuery.pdb new file mode 100644 index 0000000000000000000000000000000000000000..468a4b8d7fc222745f4da2ffd9bccf13f68e8398 GIT binary patch literal 12328 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%0AA~%Ur zu2c?v=914F$Tzouh&JED&RX{HysHsnT<`<%k~QjHE#IZu&$m)uR1=4&cR2!)9x%?u>B z6S=*~{RzV7x6b3R7LcQN`xXU0Q@geSpL(w7HX7N+%|kRA5(1VsdPG-ndl+zJsMQ~P zV$U{clU2TSx3)+do8~~6QJO;GhftcQDTQvOb@+jW%H~VCENj^Y{J(OfT6~0M_^R|ss8Kb# z&Mln)*X^jxX>G8#e&lo$@@h0BxghuXJu&w$nq%&rO6t5O7RqZNm47sqzY&x_GVOFP zjP+X!%<(>r{0S5$lfpEoFr_HpR&8*^ZtipeG;@LK72F#0ngR8Ko>D0H$h6;~#p3D18sod~wh`YV}N^Fr}y#e^M=csTOUirV-^XLA~0Qz6JHF zPOUSoCDv=ZqfY0SLg^%sB}{6LT0KcR>_|R6$TIJcwG1YoG2}C|47SAt@|j0IU8r?> zkk63jm{%NFdt_QkDo;H1CQnM|cM4-eI!U5fm&sNimBY69(h1w*2l6>eKFi5xA+>Uw zwrB|lDEFh3vS(|wx=GacMQ?1=a%6|erEoMDMs2!*Z2ku2{ujj>Nv9Q`D~J?CXK4b$PRQ~x?em^KbT8^sw&(T%e$p#A3j_UX^<+YaVxdYkr zShC(l)KYt>rHb~@!qyd;_8DpBPqMdXU~iFW(wla(H&)+}l#MMt^Kl>1rAJ%q}0 zm~0@iEn3&QGMMr-@(CcT_>8QgF2!m^vF1~m=a9X9PFC8Ie7+?8I8%#{r=DJP#3(w- z6&*2(jwDKI{=c+)(eb>fev0K)N47~;|)4NctX4GDTsqZf; zjiW))c7H%+ZcF2NS!%(e`Z-2nYLJE7kcC$ngyX}HWG$D-S{_mfv&m;K`D`Pffo*YA zSy2YZkfYSEU(h&Hj8+}aWIq|LFic$KJ}Vod1}ylz?ynN73u{UWb>=Y=P>zPB%dFtUS_g{4`{Bp zqkbAhJ|5)r2aPS?(CVcd^|_ZJyLn+ju(zc+|x>IS3QwlX`e8{8mA(4F6laC#x*^hkYlt$w;)vIMpk7kMIN`M|jB--EDLJez+TO@QwpVoYC_3x?mv$^_ zv0syJ*OOJxr#fa)i)^A6ISMU;^( zMWg*L8tt3W=vs8lxkq;1h33k+WW!+;s}HS7Txc~IMpiVp^+YK7x1}e7hHp^43>4-m z+2?ceDNjDXkxvTsj=L?fE$+aIF*5BIwQqEVsnEXRW#&=qEG?vsqBBBK{S>YH*OdG9 z7C37>q}&UyMN#vs3*}Wb<)U+6VU1xrn+v5=bd^}Nmlf`bn9d$fCo-*QNs9Kk{E_xB zjkKppdlw6pB$#YKwrv6Hkn}QmM^<#*RX8s!$rx(A+(Saxa|M`|e^2xA^<+Vv5e@MQ8kbWdDNZuYsj- zjW>|&e+~7K^Uz1IrY{QBbSK%ie+603Sp=3TUa#ot5o49Er&nnIt;J8#IPf#AYT{@- zzeYaK$R~z;7LxXoY0Q~HW6nDA$s(VrvC`a^p~hoxbHNN+IoNMCg2m|gu5t1X>6HHWB4}G`8@L3LOy57$4u=~ zg+}a18nK&Dm~Iqi35D^XS@Hp`A8yk6;d{#cQ812>y=dh>lG^SQnw=A9cAiK+Ipi~* zd^%9y+};vn9j9^iA>0$eNxf2DV0HF%omR>puB~7tCWUfr4A)+CUD>fYT=%2v0LRvF zy@J9YFVz9AyVCWNQeki%MAyqoMZ$F@3SZK(2VA$O>$;A8;Cd5X4{;m-*SjeE52c2} z^+>v2Un&N!$5NO!j-%juI{EJ{l?2zWbUm}wIJllqVY)hI!1WpO|GCtZdSPkf?f2Dj z7HhlAgg$jJ37-zEa+nJ(SfvAw^V1vRe I&kRe;B6lW)4@=9oe`K%{p01A!&LS!L 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 J_y11={|$msmv{gG literal 0 HcmV?d00001 diff --git a/Plugins/Realtime.dll.meta b/Plugins/Realtime.dll.meta new file mode 100644 index 0000000..b5083bb --- /dev/null +++ b/Plugins/Realtime.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 7530cfc26f5ef44799c48bf6aad494ed +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..afe275fe4b4e834f083058df61e363ffd931bcc5 GIT binary patch literal 105448 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

yQY+;3mk%By-ct(`C8=w(NjL5I&|{6{<0 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

+ + + + + + + + + \ No newline at end of file diff --git a/Plugins/link.xml.meta b/Plugins/link.xml.meta new file mode 100644 index 0000000..1d6a3af --- /dev/null +++ b/Plugins/link.xml.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 8a26ad1e78c6545a3933cbb4aa3531f8 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package.json b/package.json new file mode 100644 index 0000000..43cb490 --- /dev/null +++ b/package.json @@ -0,0 +1,16 @@ +{ + "name": "com.leancloud.realtime", + "version": "0.10.16", + "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.16" + }, + "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..e961012 --- /dev/null +++ b/package.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 69231542167ac4a6db0fe92ba3fc1a43 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: