From 73c70db9d89e6115776b05badb8239b655a5d212 Mon Sep 17 00:00:00 2001 From: leancloud-bot Date: Tue, 6 Dec 2022 10:26:32 +0800 Subject: [PATCH] 1.0.2 --- Plugins.meta | 8 + Plugins/LC.Google.Protobuf.dll | Bin 0 -> 358912 bytes Plugins/LC.Google.Protobuf.dll.meta | 33 + Plugins/LC.Google.Protobuf.pdb | Bin 0 -> 142288 bytes Plugins/LC.Google.Protobuf.pdb.meta | 7 + Plugins/LC.Google.Protobuf.xml | 9125 +++++++++++++++++++++++++++ Plugins/LC.Google.Protobuf.xml.meta | 7 + Plugins/LiveQuery.deps.json | 111 + Plugins/LiveQuery.deps.json.meta | 7 + Plugins/LiveQuery.dll | Bin 0 -> 22016 bytes Plugins/LiveQuery.dll.meta | 33 + Plugins/LiveQuery.pdb | Bin 0 -> 12328 bytes Plugins/LiveQuery.pdb.meta | 7 + Plugins/Realtime.dll | Bin 0 -> 299008 bytes Plugins/Realtime.dll.meta | 33 + Plugins/Realtime.pdb | Bin 0 -> 105612 bytes Plugins/Realtime.pdb.meta | 7 + Plugins/link.xml | 11 + Plugins/link.xml.meta | 7 + package.json | 16 + package.json.meta | 7 + 21 files changed, 9419 insertions(+) create mode 100644 Plugins.meta create mode 100644 Plugins/LC.Google.Protobuf.dll create mode 100644 Plugins/LC.Google.Protobuf.dll.meta create mode 100644 Plugins/LC.Google.Protobuf.pdb create mode 100644 Plugins/LC.Google.Protobuf.pdb.meta create mode 100644 Plugins/LC.Google.Protobuf.xml create mode 100644 Plugins/LC.Google.Protobuf.xml.meta create mode 100644 Plugins/LiveQuery.deps.json create mode 100644 Plugins/LiveQuery.deps.json.meta create mode 100644 Plugins/LiveQuery.dll create mode 100644 Plugins/LiveQuery.dll.meta create mode 100644 Plugins/LiveQuery.pdb create mode 100644 Plugins/LiveQuery.pdb.meta create mode 100644 Plugins/Realtime.dll create mode 100644 Plugins/Realtime.dll.meta create mode 100644 Plugins/Realtime.pdb create mode 100644 Plugins/Realtime.pdb.meta create mode 100644 Plugins/link.xml create mode 100644 Plugins/link.xml.meta create mode 100644 package.json create mode 100644 package.json.meta diff --git a/Plugins.meta b/Plugins.meta new file mode 100644 index 0000000..efa4288 --- /dev/null +++ b/Plugins.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 69255e104c8d64def881365e952f4a43 +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..f451a6dec127f20d4f89cf71c88bc59d7c8239fd GIT binary patch literal 358912 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 AQJgy6Z@UBW!NL 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 z z{wR6wYC!&<$<35+j*_o`_D9Lr7}@IE6ZUyp&^F)EN;TVwt+cc~O1@%gr*f6H3$H!o zD{6W5=DC6)_H)Yii577tN}kg?qvR~Kx>JrVo$5$_;>w7W=e=;`@z{x!S1J;m^4h{& zdhB#kCY6?EIOT6(<)Dn?-zmpDoXhgH;wYzlMlPV5g~TGK{M)3N_D>`AGZT4l@?2V4 zPFze}Myv+=_pAjK(WG_XFsJ7xr`%U{PPwmYopNt9IOS*?F_J&R_fXkGc{kpZDxa4> zadmQ^KRx_VYLm9$!JS~?%J))rm)vhn+QFeGQp2h2Atn%0i7hmS442%N9GBb{+4JUJ zElzpgwO}Ok9Ls3`q^R=mvfZbtd$p>y5M80S1ki%Z_)tyI5-MpdOxz%PfMR?ne+lREH5J*`RYyTJoKh0&g& zzXIA_n^z4^J41gbo^;9AcxUMEh%+>XGcNh)>!jW~UC}ig(md`%<&9|xZh7COy6JBL zxBR<6cgsggC-&z&M}pgIC0|c=y5v3EN%u&ntNzwc(=yyLljEkxj=OejxAYvhoab{m zGV=KO;bB*JhFfk+hMTS#y8p4dB;A8@S^6lfORhyOZKA)tQqc;JIQQHUu~v`!!PSBE z47a@Z3*1xGm(vT}8)FWDa(2){>c5CM6Eyl3xL?&WKsj6JT*`O49ojW zbs24MC+?l+`g+{*UdteMy2g~f*|*v)_nXHpud!FV<^J@z0zfPCD%9??UJ;MXyxN_f}(mg|7!NzNTi`?gDaK-+7zcUuO_s-zD z{ga?PkF{FlXj_e2)(y*OH42GOR#!OX)x}s`U2*ip^$kP*4ql@%|C$Dyyt?}!YRccV zdsRDCiW?}t08~$uGNsg3|ELN)gK@u|GI3(c<}9Q_w!5T^-MD_uQIjbn(ZO< zL+?-+@)zV<>3Z*8p(Y>CIHDgf`ynGm3CFt+)z)89&Y=9$Dh1_VZ?xg zJ(1ydc`Y~GUOi$(WGl65b<5-V4At)>>e1Ae=piN$Q;8YT@|t8$v^?8nM9V9a!=vSu z#%f2#uwlk1)WI`&w7k+dQ>5L9=LlL_NclqKy-`Kc@*3bw%FIM&R@B^RdCZqnelGH{ z*16I0-Gs$dXEEyNxJo8_-cLNHC*C!<|FUR#FE5LhkA-9U-&bARznU^l>aO|I`q!fE zhxSdxI^r_wts$D8Q=;iPg))1hubzm%E@_SXX(aoj<$D}^_`M7{l0DJww;~h$%%ovP zlUBL<@~mcR+l;X#CbUG$vqTHpeol{Br)Z`A+o?`_bpOIRk?qlP_O_FhIf=}JD9bt9 zIw{kM%yyLJOl{#FxuxMAStr~h=VvRT=OYj0J;)!;@_6LjY|V5gOr?A(@@KMAJ#t>Q z3{U&C$N_D1r6obUKg~TLK}?*M48AdK5cugdFL?X3@!UV51=)o9$Nl zIBmDea;^L6_ypwTfwP7u|r)p$RQfk)yV8r9|0TH$HBv> zuZdPQFbJRJQh&f2Pf-s-llv-MlVeCGrfPB|X__2Kh9<{6K$Bz6(d3xNQXL<0HflOV zxwZpbpzQ(|YpUz6*trk>YQ%}vBQ>Uk&iyoY)|Ks_I(o(}P>YSxILYM2c z>2hB=b$JiQ>HAPl)enFf`Ul`}U50Z|5$jfQzVp_V4mOe_E0A(6b zwu|RP> zbFjUJ>@C%hGcca;@NBt%!Y>Cs z;c}nHh0A@O94^96^6ne0WGw8uC&Y}mq=tK{8A)?xm(W7J!-YB`2QBiU&W259+ z3Zmp%CZGyC5NyfQk{REe+pGxI4DrdN4s{t-Kk{p-Z#v!g@*xunT zFX(lR21mKB0mr(=g9WZau!#EfQ9m=OpV=-shPl++oh~`fa+e�+-y<#nivwCAV~$ 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

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

rXxtlyl9w$$ex5#vd(PuWY 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 OTzpkoG$%f>U;BUe&uZKN 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..0f0abbf --- /dev/null +++ b/Plugins/LC.Google.Protobuf.pdb.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 50003db9d4c2e4e12929fead8e2c2c51 +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..a9528e7 --- /dev/null +++ b/Plugins/LC.Google.Protobuf.xml.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: a3cfd8cbbe1864a109457da322939870 +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..2777ab6 --- /dev/null +++ b/Plugins/LiveQuery.deps.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 174fb87d1a12b4eb49721f4ba51565f0 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/LiveQuery.dll b/Plugins/LiveQuery.dll new file mode 100644 index 0000000000000000000000000000000000000000..12f45964b5542edc89ef0f910a8f4ceff0d033eb GIT binary patch literal 22016 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 O^lwS&|F3J&0{;g(UsYrP literal 0 HcmV?d00001 diff --git a/Plugins/LiveQuery.dll.meta b/Plugins/LiveQuery.dll.meta new file mode 100644 index 0000000..e040b04 --- /dev/null +++ b/Plugins/LiveQuery.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 9315f6e7743ef4ddab05fa3755c1fb76 +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..8c26ebb372494907c2a1210bd15c831310a6a41c GIT binary patch literal 12328 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 literal 0 HcmV?d00001 diff --git a/Plugins/LiveQuery.pdb.meta b/Plugins/LiveQuery.pdb.meta new file mode 100644 index 0000000..508e8cd --- /dev/null +++ b/Plugins/LiveQuery.pdb.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9f9bcbb49a56a42c28d8fb377a5b94c8 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/Realtime.dll b/Plugins/Realtime.dll new file mode 100644 index 0000000000000000000000000000000000000000..6e14e979b5fe894cce1d3eb5ebb126a22b784b80 GIT binary patch literal 299008 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

g5UycF*2v?^cKo%-PT{ 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 UKZ=-oRCp`)-2eag+oys50Ts%e4FCWD literal 0 HcmV?d00001 diff --git a/Plugins/Realtime.dll.meta b/Plugins/Realtime.dll.meta new file mode 100644 index 0000000..ccd5bc4 --- /dev/null +++ b/Plugins/Realtime.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: cdebe7433397f4bfbbfe88cba329f90c +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/Realtime.pdb b/Plugins/Realtime.pdb new file mode 100644 index 0000000000000000000000000000000000000000..dfa185c4059d7ffc885eaa7a11526d34e6abebee GIT binary patch literal 105612 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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..c97ea3e --- /dev/null +++ b/Plugins/link.xml.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 7438b562adef14a2daf7f2d2ca16b73a +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package.json b/package.json new file mode 100644 index 0000000..74d3a0a --- /dev/null +++ b/package.json @@ -0,0 +1,16 @@ +{ + "name": "com.leancloud.realtime", + "version": "1.0.2", + "displayName": "LeanCloud Realtime", + "description": "This is leancloud realtime package", + "unity": "2019.1", + "dependencies": { + "com.leancloud.storage": "https://github.com/leancloud/csharp-sdk-upm.git#storage-1.0.2" + }, + "keywords": ["LeanCloud", "Realtime"], + "author": { + "name": "LeanCloud", + "email": "support@leancloud.rocks", + "url": "https://leancloud.cn/" + } +} diff --git a/package.json.meta b/package.json.meta new file mode 100644 index 0000000..30109d6 --- /dev/null +++ b/package.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: c63da9465bf1347dc81946ac58181105 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: