| OLD | NEW |
| 1 // Generated by the protocol buffer compiler. DO NOT EDIT! | 1 // Generated by the protocol buffer compiler. DO NOT EDIT! |
| 2 // source: google/protobuf/any.proto | 2 // source: google/protobuf/any.proto |
| 3 | 3 |
| 4 // This CPP symbol can be defined to use imports that match up to the framework | 4 #import "GPBProtocolBuffers.h" |
| 5 // imports needed when using CocoaPods. | |
| 6 #if !defined(GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS) | |
| 7 #define GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS 0 | |
| 8 #endif | |
| 9 | 5 |
| 10 #if GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS | 6 #if GOOGLE_PROTOBUF_OBJC_GEN_VERSION != 30001 |
| 11 #import <Protobuf/GPBProtocolBuffers.h> | 7 #error This file was generated by a different version of protoc which is incompa
tible with your Protocol Buffer library sources. |
| 12 #else | |
| 13 #import "GPBProtocolBuffers.h" | |
| 14 #endif | |
| 15 | |
| 16 #if GOOGLE_PROTOBUF_OBJC_VERSION < 30002 | |
| 17 #error This file was generated by a newer version of protoc which is incompatibl
e with your Protocol Buffer library sources. | |
| 18 #endif | |
| 19 #if 30002 < GOOGLE_PROTOBUF_OBJC_MIN_SUPPORTED_VERSION | |
| 20 #error This file was generated by an older version of protoc which is incompatib
le with your Protocol Buffer library sources. | |
| 21 #endif | 8 #endif |
| 22 | 9 |
| 23 // @@protoc_insertion_point(imports) | 10 // @@protoc_insertion_point(imports) |
| 24 | 11 |
| 25 #pragma clang diagnostic push | 12 #pragma clang diagnostic push |
| 26 #pragma clang diagnostic ignored "-Wdeprecated-declarations" | 13 #pragma clang diagnostic ignored "-Wdeprecated-declarations" |
| 27 | 14 |
| 28 CF_EXTERN_C_BEGIN | 15 CF_EXTERN_C_BEGIN |
| 29 | 16 |
| 30 NS_ASSUME_NONNULL_BEGIN | 17 NS_ASSUME_NONNULL_BEGIN |
| 31 | 18 |
| 32 #pragma mark - GPBAnyRoot | 19 #pragma mark - GPBAnyRoot |
| 33 | 20 |
| 34 /** | 21 /// Exposes the extension registry for this file. |
| 35 * Exposes the extension registry for this file. | 22 /// |
| 36 * | 23 /// The base class provides: |
| 37 * The base class provides: | 24 /// @code |
| 38 * @code | 25 /// + (GPBExtensionRegistry *)extensionRegistry; |
| 39 * + (GPBExtensionRegistry *)extensionRegistry; | 26 /// @endcode |
| 40 * @endcode | 27 /// which is a @c GPBExtensionRegistry that includes all the extensions defined
by |
| 41 * which is a @c GPBExtensionRegistry that includes all the extensions defined b
y | 28 /// this file and all files that it depends on. |
| 42 * this file and all files that it depends on. | |
| 43 **/ | |
| 44 @interface GPBAnyRoot : GPBRootObject | 29 @interface GPBAnyRoot : GPBRootObject |
| 45 @end | 30 @end |
| 46 | 31 |
| 47 #pragma mark - GPBAny | 32 #pragma mark - GPBAny |
| 48 | 33 |
| 49 typedef GPB_ENUM(GPBAny_FieldNumber) { | 34 typedef GPB_ENUM(GPBAny_FieldNumber) { |
| 50 GPBAny_FieldNumber_TypeURL = 1, | 35 GPBAny_FieldNumber_TypeURL = 1, |
| 51 GPBAny_FieldNumber_Value = 2, | 36 GPBAny_FieldNumber_Value = 2, |
| 52 }; | 37 }; |
| 53 | 38 |
| 54 /** | 39 /// `Any` contains an arbitrary serialized protocol buffer message along with a |
| 55 * `Any` contains an arbitrary serialized protocol buffer message along with a | 40 /// URL that describes the type of the serialized message. |
| 56 * URL that describes the type of the serialized message. | 41 /// |
| 57 * | 42 /// Protobuf library provides support to pack/unpack Any values in the form |
| 58 * Protobuf library provides support to pack/unpack Any values in the form | 43 /// of utility functions or additional generated methods of the Any type. |
| 59 * of utility functions or additional generated methods of the Any type. | 44 /// |
| 60 * | 45 /// Example 1: Pack and unpack a message in C++. |
| 61 * Example 1: Pack and unpack a message in C++. | 46 /// |
| 62 * | 47 /// Foo foo = ...; |
| 63 * Foo foo = ...; | 48 /// Any any; |
| 64 * Any any; | 49 /// any.PackFrom(foo); |
| 65 * any.PackFrom(foo); | 50 /// ... |
| 66 * ... | 51 /// if (any.UnpackTo(&foo)) { |
| 67 * if (any.UnpackTo(&foo)) { | 52 /// ... |
| 68 * ... | 53 /// } |
| 69 * } | 54 /// |
| 70 * | 55 /// Example 2: Pack and unpack a message in Java. |
| 71 * Example 2: Pack and unpack a message in Java. | 56 /// |
| 72 * | 57 /// Foo foo = ...; |
| 73 * Foo foo = ...; | 58 /// Any any = Any.pack(foo); |
| 74 * Any any = Any.pack(foo); | 59 /// ... |
| 75 * ... | 60 /// if (any.is(Foo.class)) { |
| 76 * if (any.is(Foo.class)) { | 61 /// foo = any.unpack(Foo.class); |
| 77 * foo = any.unpack(Foo.class); | 62 /// } |
| 78 * } | 63 /// |
| 79 * | 64 /// The pack methods provided by protobuf library will by default use |
| 80 * Example 3: Pack and unpack a message in Python. | 65 /// 'type.googleapis.com/full.type.name' as the type URL and the unpack |
| 81 * | 66 /// methods only use the fully qualified type name after the last '/' |
| 82 * foo = Foo(...) | 67 /// in the type URL, for example "foo.bar.com/x/y.z" will yield type |
| 83 * any = Any() | 68 /// name "y.z". |
| 84 * any.Pack(foo) | 69 /// |
| 85 * ... | 70 /// |
| 86 * if any.Is(Foo.DESCRIPTOR): | 71 /// JSON |
| 87 * any.Unpack(foo) | 72 /// ==== |
| 88 * ... | 73 /// The JSON representation of an `Any` value uses the regular |
| 89 * | 74 /// representation of the deserialized, embedded message, with an |
| 90 * The pack methods provided by protobuf library will by default use | 75 /// additional field `\@type` which contains the type URL. Example: |
| 91 * 'type.googleapis.com/full.type.name' as the type URL and the unpack | 76 /// |
| 92 * methods only use the fully qualified type name after the last '/' | 77 /// package google.profile; |
| 93 * in the type URL, for example "foo.bar.com/x/y.z" will yield type | 78 /// message Person { |
| 94 * name "y.z". | 79 /// string first_name = 1; |
| 95 * | 80 /// string last_name = 2; |
| 96 * | 81 /// } |
| 97 * JSON | 82 /// |
| 98 * ==== | 83 /// { |
| 99 * The JSON representation of an `Any` value uses the regular | 84 /// "\@type": "type.googleapis.com/google.profile.Person", |
| 100 * representation of the deserialized, embedded message, with an | 85 /// "firstName": <string>, |
| 101 * additional field `\@type` which contains the type URL. Example: | 86 /// "lastName": <string> |
| 102 * | 87 /// } |
| 103 * package google.profile; | 88 /// |
| 104 * message Person { | 89 /// If the embedded message type is well-known and has a custom JSON |
| 105 * string first_name = 1; | 90 /// representation, that representation will be embedded adding a field |
| 106 * string last_name = 2; | 91 /// `value` which holds the custom JSON in addition to the `\@type` |
| 107 * } | 92 /// field. Example (for message [google.protobuf.Duration][]): |
| 108 * | 93 /// |
| 109 * { | 94 /// { |
| 110 * "\@type": "type.googleapis.com/google.profile.Person", | 95 /// "\@type": "type.googleapis.com/google.protobuf.Duration", |
| 111 * "firstName": <string>, | 96 /// "value": "1.212s" |
| 112 * "lastName": <string> | 97 /// } |
| 113 * } | |
| 114 * | |
| 115 * If the embedded message type is well-known and has a custom JSON | |
| 116 * representation, that representation will be embedded adding a field | |
| 117 * `value` which holds the custom JSON in addition to the `\@type` | |
| 118 * field. Example (for message [google.protobuf.Duration][]): | |
| 119 * | |
| 120 * { | |
| 121 * "\@type": "type.googleapis.com/google.protobuf.Duration", | |
| 122 * "value": "1.212s" | |
| 123 * } | |
| 124 **/ | |
| 125 @interface GPBAny : GPBMessage | 98 @interface GPBAny : GPBMessage |
| 126 | 99 |
| 127 /** | 100 /// A URL/resource name whose content describes the type of the |
| 128 * A URL/resource name whose content describes the type of the | 101 /// serialized protocol buffer message. |
| 129 * serialized protocol buffer message. | 102 /// |
| 130 * | 103 /// For URLs which use the schema `http`, `https`, or no schema, the |
| 131 * For URLs which use the scheme `http`, `https`, or no scheme, the | 104 /// following restrictions and interpretations apply: |
| 132 * following restrictions and interpretations apply: | 105 /// |
| 133 * | 106 /// * If no schema is provided, `https` is assumed. |
| 134 * * If no scheme is provided, `https` is assumed. | 107 /// * The last segment of the URL's path must represent the fully |
| 135 * * The last segment of the URL's path must represent the fully | 108 /// qualified name of the type (as in `path/google.protobuf.Duration`). |
| 136 * qualified name of the type (as in `path/google.protobuf.Duration`). | 109 /// The name should be in a canonical form (e.g., leading "." is |
| 137 * The name should be in a canonical form (e.g., leading "." is | 110 /// not accepted). |
| 138 * not accepted). | 111 /// * An HTTP GET on the URL must yield a [google.protobuf.Type][] |
| 139 * * An HTTP GET on the URL must yield a [google.protobuf.Type][] | 112 /// value in binary format, or produce an error. |
| 140 * value in binary format, or produce an error. | 113 /// * Applications are allowed to cache lookup results based on the |
| 141 * * Applications are allowed to cache lookup results based on the | 114 /// URL, or have them precompiled into a binary to avoid any |
| 142 * URL, or have them precompiled into a binary to avoid any | 115 /// lookup. Therefore, binary compatibility needs to be preserved |
| 143 * lookup. Therefore, binary compatibility needs to be preserved | 116 /// on changes to types. (Use versioned type names to manage |
| 144 * on changes to types. (Use versioned type names to manage | 117 /// breaking changes.) |
| 145 * breaking changes.) | 118 /// |
| 146 * | 119 /// Schemas other than `http`, `https` (or the empty schema) might be |
| 147 * Schemes other than `http`, `https` (or the empty scheme) might be | 120 /// used with implementation specific semantics. |
| 148 * used with implementation specific semantics. | |
| 149 **/ | |
| 150 @property(nonatomic, readwrite, copy, null_resettable) NSString *typeURL; | 121 @property(nonatomic, readwrite, copy, null_resettable) NSString *typeURL; |
| 151 | 122 |
| 152 /** Must be a valid serialized protocol buffer of the above specified type. */ | 123 /// Must be a valid serialized protocol buffer of the above specified type. |
| 153 @property(nonatomic, readwrite, copy, null_resettable) NSData *value; | 124 @property(nonatomic, readwrite, copy, null_resettable) NSData *value; |
| 154 | 125 |
| 155 @end | 126 @end |
| 156 | 127 |
| 157 NS_ASSUME_NONNULL_END | 128 NS_ASSUME_NONNULL_END |
| 158 | 129 |
| 159 CF_EXTERN_C_END | 130 CF_EXTERN_C_END |
| 160 | 131 |
| 161 #pragma clang diagnostic pop | 132 #pragma clang diagnostic pop |
| 162 | 133 |
| 163 // @@protoc_insertion_point(global_scope) | 134 // @@protoc_insertion_point(global_scope) |
| OLD | NEW |