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