blob: 9866b5b1b62faafa82b21ddd9f4b9a32a0d60e40 [file] [log] [blame]
Brian Silverman9c614bc2016-02-15 20:20:02 -05001// Generated by the protocol buffer compiler. DO NOT EDIT!
2// source: google/protobuf/any.proto
3
4#import "GPBProtocolBuffers.h"
5
6#if GOOGLE_PROTOBUF_OBJC_GEN_VERSION != 30000
7#error This file was generated by a different version of protoc which is incompatible with your Protocol Buffer library sources.
8#endif
9
10// @@protoc_insertion_point(imports)
11
12CF_EXTERN_C_BEGIN
13
14NS_ASSUME_NONNULL_BEGIN
15
16#pragma mark - GPBAnyRoot
17
18@interface GPBAnyRoot : GPBRootObject
19
20// The base class provides:
21// + (GPBExtensionRegistry *)extensionRegistry;
22// which is an GPBExtensionRegistry that includes all the extensions defined by
23// this file and all files that it depends on.
24
25@end
26
27#pragma mark - GPBAny
28
29typedef GPB_ENUM(GPBAny_FieldNumber) {
30 GPBAny_FieldNumber_TypeURL = 1,
31 GPBAny_FieldNumber_Value = 2,
32};
33
34// `Any` contains an arbitrary serialized message along with a URL
35// that describes the type of the serialized message.
36//
37//
38// JSON
39// ====
40// The JSON representation of an `Any` value uses the regular
41// representation of the deserialized, embedded message, with an
42// additional field `@type` which contains the type URL. Example:
43//
44// package google.profile;
45// message Person {
46// string first_name = 1;
47// string last_name = 2;
48// }
49//
50// {
51// "@type": "type.googleapis.com/google.profile.Person",
52// "firstName": <string>,
53// "lastName": <string>
54// }
55//
56// If the embedded message type is well-known and has a custom JSON
57// representation, that representation will be embedded adding a field
58// `value` which holds the custom JSON in addition to the `@type`
59// field. Example (for message [google.protobuf.Duration][]):
60//
61// {
62// "@type": "type.googleapis.com/google.protobuf.Duration",
63// "value": "1.212s"
64// }
65@interface GPBAny : GPBMessage
66
67// A URL/resource name whose content describes the type of the
68// serialized message.
69//
70// For URLs which use the schema `http`, `https`, or no schema, the
71// following restrictions and interpretations apply:
72//
73// * If no schema is provided, `https` is assumed.
74// * The last segment of the URL's path must represent the fully
75// qualified name of the type (as in `path/google.protobuf.Duration`).
76// * An HTTP GET on the URL must yield a [google.protobuf.Type][]
77// value in binary format, or produce an error.
78// * Applications are allowed to cache lookup results based on the
79// URL, or have them precompiled into a binary to avoid any
80// lookup. Therefore, binary compatibility needs to be preserved
81// on changes to types. (Use versioned type names to manage
82// breaking changes.)
83//
84// Schemas other than `http`, `https` (or the empty schema) might be
85// used with implementation specific semantics.
86@property(nonatomic, readwrite, copy, null_resettable) NSString *typeURL;
87
88// Must be valid serialized data of the above specified type.
89@property(nonatomic, readwrite, copy, null_resettable) NSData *value;
90
91@end
92
93NS_ASSUME_NONNULL_END
94
95CF_EXTERN_C_END
96
97// @@protoc_insertion_point(global_scope)