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