| Index: third_party/protobuf/src/google/protobuf/any.h
|
| diff --git a/third_party/protobuf/src/google/protobuf/any.h b/third_party/protobuf/src/google/protobuf/any.h
|
| index c8dbef1301c105398e82538faf6d42f797848576..04e541667f458c7287b6c951b13ae08d5669308e 100644
|
| --- a/third_party/protobuf/src/google/protobuf/any.h
|
| +++ b/third_party/protobuf/src/google/protobuf/any.h
|
| @@ -50,10 +50,26 @@ class LIBPROTOBUF_EXPORT AnyMetadata {
|
| // AnyMetadata does not take ownership of "type_url" and "value".
|
| AnyMetadata(UrlType* type_url, ValueType* value);
|
|
|
| + // Packs a message using the default type URL prefix: "type.googleapis.com".
|
| + // The resulted type URL will be "type.googleapis.com/<message_full_name>".
|
| void PackFrom(const Message& message);
|
| -
|
| + // Packs a message using the given type URL prefix. The type URL will be
|
| + // constructed by concatenating the message type's full name to the prefix
|
| + // with an optional "/" separator if the prefix doesn't already end up "/".
|
| + // For example, both PackFrom(message, "type.googleapis.com") and
|
| + // PackFrom(message, "type.googleapis.com/") yield the same result type
|
| + // URL: "type.googleapis.com/<message_full_name>".
|
| + void PackFrom(const Message& message, const string& type_url_prefix);
|
| +
|
| + // Unpacks the payload into the given message. Returns false if the message's
|
| + // type doesn't match the type specified in the type URL (i.e., the full
|
| + // name after the last "/" of the type URL doesn't match the message's actaul
|
| + // full name) or parsing the payload has failed.
|
| bool UnpackTo(Message* message) const;
|
|
|
| + // Checks whether the type specified in the type URL matches the given type.
|
| + // A type is consdiered matching if its full name matches the full name after
|
| + // the last "/" in the type URL.
|
| template<typename T>
|
| bool Is() const {
|
| return InternalIs(T::default_instance().GetDescriptor());
|
|
|