From 5368df830d0516bb917a978008b23aa674070bc9 Mon Sep 17 00:00:00 2001 From: leancloud-bot Date: Thu, 19 May 2022 17:19:38 +0800 Subject: [PATCH] 0.10.11 --- 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..ef2fde7 --- /dev/null +++ b/Plugins.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0d822557b0eee4ecba381e0179d57562 +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..12796d34749d9b8d76fac30b9413af4eb313f1e2 GIT binary patch literal 358912 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%0Aiv|a|Salb43 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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..c15f2e1 --- /dev/null +++ b/Plugins/LC.Google.Protobuf.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 7d582c9583d114d6984f39e2c169a9ce +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..533fe6821841cdce3a11701df86f4e262fc96679 GIT binary patch literal 142288 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 Rv1Ddkd{tRACqA)X`+sojYzF`U literal 0 HcmV?d00001 diff --git a/Plugins/LC.Google.Protobuf.pdb.meta b/Plugins/LC.Google.Protobuf.pdb.meta new file mode 100644 index 0000000..abc23b0 --- /dev/null +++ b/Plugins/LC.Google.Protobuf.pdb.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 48de241787d1c4c3e8c33e6b19d6c705 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/LC.Google.Protobuf.xml b/Plugins/LC.Google.Protobuf.xml new file mode 100644 index 0000000..0a7b479 --- /dev/null +++ b/Plugins/LC.Google.Protobuf.xml @@ -0,0 +1,9125 @@ + + + + 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..a88e10d --- /dev/null +++ b/Plugins/LC.Google.Protobuf.xml.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 6d07d52a1e29043249204a15ae0f2d7e +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..c9d14b4 --- /dev/null +++ b/Plugins/LiveQuery.deps.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: a7dfd1a2e8dc342c496832e51b2fcc12 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/LiveQuery.dll b/Plugins/LiveQuery.dll new file mode 100644 index 0000000000000000000000000000000000000000..6172afe09d909c206ec920e456e952006e2ca678 GIT binary patch literal 22016 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 G7Wm(Ez)AT4 literal 0 HcmV?d00001 diff --git a/Plugins/LiveQuery.dll.meta b/Plugins/LiveQuery.dll.meta new file mode 100644 index 0000000..490c22d --- /dev/null +++ b/Plugins/LiveQuery.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: fc83151bbc0334b29a2b6f34137d8a5f +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..4f383040ec63f52bba76a621504855ba9269ced1 GIT binary patch literal 12328 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 dQGlJO@nF#mC>=z3G~8j&+-5*g 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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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 + + + + + + + + + \ No newline at end of file diff --git a/Plugins/link.xml.meta b/Plugins/link.xml.meta new file mode 100644 index 0000000..231a0b2 --- /dev/null +++ b/Plugins/link.xml.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 94941f5a2532e4fa287a982de8b23b65 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package.json b/package.json new file mode 100644 index 0000000..cc05a16 --- /dev/null +++ b/package.json @@ -0,0 +1,16 @@ +{ + "name": "com.leancloud.realtime", + "version": "0.10.11", + "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.11" + }, + "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..5ab9f7f --- /dev/null +++ b/package.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 55f3e234c805046f4b9bce7ad97f6e2f +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: