1ffe3c632Sopenharmony_ci// Generated by the protocol buffer compiler.  DO NOT EDIT!
2ffe3c632Sopenharmony_ci// source: google/protobuf/api.proto
3ffe3c632Sopenharmony_ci
4ffe3c632Sopenharmony_ci// This CPP symbol can be defined to use imports that match up to the framework
5ffe3c632Sopenharmony_ci// imports needed when using CocoaPods.
6ffe3c632Sopenharmony_ci#if !defined(GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS)
7ffe3c632Sopenharmony_ci #define GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS 0
8ffe3c632Sopenharmony_ci#endif
9ffe3c632Sopenharmony_ci
10ffe3c632Sopenharmony_ci#if GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS
11ffe3c632Sopenharmony_ci #import <Protobuf/GPBDescriptor.h>
12ffe3c632Sopenharmony_ci #import <Protobuf/GPBMessage.h>
13ffe3c632Sopenharmony_ci #import <Protobuf/GPBRootObject.h>
14ffe3c632Sopenharmony_ci#else
15ffe3c632Sopenharmony_ci #import "GPBDescriptor.h"
16ffe3c632Sopenharmony_ci #import "GPBMessage.h"
17ffe3c632Sopenharmony_ci #import "GPBRootObject.h"
18ffe3c632Sopenharmony_ci#endif
19ffe3c632Sopenharmony_ci
20ffe3c632Sopenharmony_ci#if GOOGLE_PROTOBUF_OBJC_VERSION < 30004
21ffe3c632Sopenharmony_ci#error This file was generated by a newer version of protoc which is incompatible with your Protocol Buffer library sources.
22ffe3c632Sopenharmony_ci#endif
23ffe3c632Sopenharmony_ci#if 30004 < GOOGLE_PROTOBUF_OBJC_MIN_SUPPORTED_VERSION
24ffe3c632Sopenharmony_ci#error This file was generated by an older version of protoc which is incompatible with your Protocol Buffer library sources.
25ffe3c632Sopenharmony_ci#endif
26ffe3c632Sopenharmony_ci
27ffe3c632Sopenharmony_ci// @@protoc_insertion_point(imports)
28ffe3c632Sopenharmony_ci
29ffe3c632Sopenharmony_ci#pragma clang diagnostic push
30ffe3c632Sopenharmony_ci#pragma clang diagnostic ignored "-Wdeprecated-declarations"
31ffe3c632Sopenharmony_ci
32ffe3c632Sopenharmony_ciCF_EXTERN_C_BEGIN
33ffe3c632Sopenharmony_ci
34ffe3c632Sopenharmony_ci@class GPBMethod;
35ffe3c632Sopenharmony_ci@class GPBMixin;
36ffe3c632Sopenharmony_ci@class GPBOption;
37ffe3c632Sopenharmony_ci@class GPBSourceContext;
38ffe3c632Sopenharmony_ciGPB_ENUM_FWD_DECLARE(GPBSyntax);
39ffe3c632Sopenharmony_ci
40ffe3c632Sopenharmony_ciNS_ASSUME_NONNULL_BEGIN
41ffe3c632Sopenharmony_ci
42ffe3c632Sopenharmony_ci#pragma mark - GPBApiRoot
43ffe3c632Sopenharmony_ci
44ffe3c632Sopenharmony_ci/**
45ffe3c632Sopenharmony_ci * Exposes the extension registry for this file.
46ffe3c632Sopenharmony_ci *
47ffe3c632Sopenharmony_ci * The base class provides:
48ffe3c632Sopenharmony_ci * @code
49ffe3c632Sopenharmony_ci *   + (GPBExtensionRegistry *)extensionRegistry;
50ffe3c632Sopenharmony_ci * @endcode
51ffe3c632Sopenharmony_ci * which is a @c GPBExtensionRegistry that includes all the extensions defined by
52ffe3c632Sopenharmony_ci * this file and all files that it depends on.
53ffe3c632Sopenharmony_ci **/
54ffe3c632Sopenharmony_ciGPB_FINAL @interface GPBApiRoot : GPBRootObject
55ffe3c632Sopenharmony_ci@end
56ffe3c632Sopenharmony_ci
57ffe3c632Sopenharmony_ci#pragma mark - GPBApi
58ffe3c632Sopenharmony_ci
59ffe3c632Sopenharmony_citypedef GPB_ENUM(GPBApi_FieldNumber) {
60ffe3c632Sopenharmony_ci  GPBApi_FieldNumber_Name = 1,
61ffe3c632Sopenharmony_ci  GPBApi_FieldNumber_MethodsArray = 2,
62ffe3c632Sopenharmony_ci  GPBApi_FieldNumber_OptionsArray = 3,
63ffe3c632Sopenharmony_ci  GPBApi_FieldNumber_Version = 4,
64ffe3c632Sopenharmony_ci  GPBApi_FieldNumber_SourceContext = 5,
65ffe3c632Sopenharmony_ci  GPBApi_FieldNumber_MixinsArray = 6,
66ffe3c632Sopenharmony_ci  GPBApi_FieldNumber_Syntax = 7,
67ffe3c632Sopenharmony_ci};
68ffe3c632Sopenharmony_ci
69ffe3c632Sopenharmony_ci/**
70ffe3c632Sopenharmony_ci * Api is a light-weight descriptor for an API Interface.
71ffe3c632Sopenharmony_ci *
72ffe3c632Sopenharmony_ci * Interfaces are also described as "protocol buffer services" in some contexts,
73ffe3c632Sopenharmony_ci * such as by the "service" keyword in a .proto file, but they are different
74ffe3c632Sopenharmony_ci * from API Services, which represent a concrete implementation of an interface
75ffe3c632Sopenharmony_ci * as opposed to simply a description of methods and bindings. They are also
76ffe3c632Sopenharmony_ci * sometimes simply referred to as "APIs" in other contexts, such as the name of
77ffe3c632Sopenharmony_ci * this message itself. See https://cloud.google.com/apis/design/glossary for
78ffe3c632Sopenharmony_ci * detailed terminology.
79ffe3c632Sopenharmony_ci **/
80ffe3c632Sopenharmony_ciGPB_FINAL @interface GPBApi : GPBMessage
81ffe3c632Sopenharmony_ci
82ffe3c632Sopenharmony_ci/**
83ffe3c632Sopenharmony_ci * The fully qualified name of this interface, including package name
84ffe3c632Sopenharmony_ci * followed by the interface's simple name.
85ffe3c632Sopenharmony_ci **/
86ffe3c632Sopenharmony_ci@property(nonatomic, readwrite, copy, null_resettable) NSString *name;
87ffe3c632Sopenharmony_ci
88ffe3c632Sopenharmony_ci/** The methods of this interface, in unspecified order. */
89ffe3c632Sopenharmony_ci@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<GPBMethod*> *methodsArray;
90ffe3c632Sopenharmony_ci/** The number of items in @c methodsArray without causing the array to be created. */
91ffe3c632Sopenharmony_ci@property(nonatomic, readonly) NSUInteger methodsArray_Count;
92ffe3c632Sopenharmony_ci
93ffe3c632Sopenharmony_ci/** Any metadata attached to the interface. */
94ffe3c632Sopenharmony_ci@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<GPBOption*> *optionsArray;
95ffe3c632Sopenharmony_ci/** The number of items in @c optionsArray without causing the array to be created. */
96ffe3c632Sopenharmony_ci@property(nonatomic, readonly) NSUInteger optionsArray_Count;
97ffe3c632Sopenharmony_ci
98ffe3c632Sopenharmony_ci/**
99ffe3c632Sopenharmony_ci * A version string for this interface. If specified, must have the form
100ffe3c632Sopenharmony_ci * `major-version.minor-version`, as in `1.10`. If the minor version is
101ffe3c632Sopenharmony_ci * omitted, it defaults to zero. If the entire version field is empty, the
102ffe3c632Sopenharmony_ci * major version is derived from the package name, as outlined below. If the
103ffe3c632Sopenharmony_ci * field is not empty, the version in the package name will be verified to be
104ffe3c632Sopenharmony_ci * consistent with what is provided here.
105ffe3c632Sopenharmony_ci *
106ffe3c632Sopenharmony_ci * The versioning schema uses [semantic
107ffe3c632Sopenharmony_ci * versioning](http://semver.org) where the major version number
108ffe3c632Sopenharmony_ci * indicates a breaking change and the minor version an additive,
109ffe3c632Sopenharmony_ci * non-breaking change. Both version numbers are signals to users
110ffe3c632Sopenharmony_ci * what to expect from different versions, and should be carefully
111ffe3c632Sopenharmony_ci * chosen based on the product plan.
112ffe3c632Sopenharmony_ci *
113ffe3c632Sopenharmony_ci * The major version is also reflected in the package name of the
114ffe3c632Sopenharmony_ci * interface, which must end in `v<major-version>`, as in
115ffe3c632Sopenharmony_ci * `google.feature.v1`. For major versions 0 and 1, the suffix can
116ffe3c632Sopenharmony_ci * be omitted. Zero major versions must only be used for
117ffe3c632Sopenharmony_ci * experimental, non-GA interfaces.
118ffe3c632Sopenharmony_ci **/
119ffe3c632Sopenharmony_ci@property(nonatomic, readwrite, copy, null_resettable) NSString *version;
120ffe3c632Sopenharmony_ci
121ffe3c632Sopenharmony_ci/**
122ffe3c632Sopenharmony_ci * Source context for the protocol buffer service represented by this
123ffe3c632Sopenharmony_ci * message.
124ffe3c632Sopenharmony_ci **/
125ffe3c632Sopenharmony_ci@property(nonatomic, readwrite, strong, null_resettable) GPBSourceContext *sourceContext;
126ffe3c632Sopenharmony_ci/** Test to see if @c sourceContext has been set. */
127ffe3c632Sopenharmony_ci@property(nonatomic, readwrite) BOOL hasSourceContext;
128ffe3c632Sopenharmony_ci
129ffe3c632Sopenharmony_ci/** Included interfaces. See [Mixin][]. */
130ffe3c632Sopenharmony_ci@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<GPBMixin*> *mixinsArray;
131ffe3c632Sopenharmony_ci/** The number of items in @c mixinsArray without causing the array to be created. */
132ffe3c632Sopenharmony_ci@property(nonatomic, readonly) NSUInteger mixinsArray_Count;
133ffe3c632Sopenharmony_ci
134ffe3c632Sopenharmony_ci/** The source syntax of the service. */
135ffe3c632Sopenharmony_ci@property(nonatomic, readwrite) enum GPBSyntax syntax;
136ffe3c632Sopenharmony_ci
137ffe3c632Sopenharmony_ci@end
138ffe3c632Sopenharmony_ci
139ffe3c632Sopenharmony_ci/**
140ffe3c632Sopenharmony_ci * Fetches the raw value of a @c GPBApi's @c syntax property, even
141ffe3c632Sopenharmony_ci * if the value was not defined by the enum at the time the code was generated.
142ffe3c632Sopenharmony_ci **/
143ffe3c632Sopenharmony_ciint32_t GPBApi_Syntax_RawValue(GPBApi *message);
144ffe3c632Sopenharmony_ci/**
145ffe3c632Sopenharmony_ci * Sets the raw value of an @c GPBApi's @c syntax property, allowing
146ffe3c632Sopenharmony_ci * it to be set to a value that was not defined by the enum at the time the code
147ffe3c632Sopenharmony_ci * was generated.
148ffe3c632Sopenharmony_ci **/
149ffe3c632Sopenharmony_civoid SetGPBApi_Syntax_RawValue(GPBApi *message, int32_t value);
150ffe3c632Sopenharmony_ci
151ffe3c632Sopenharmony_ci#pragma mark - GPBMethod
152ffe3c632Sopenharmony_ci
153ffe3c632Sopenharmony_citypedef GPB_ENUM(GPBMethod_FieldNumber) {
154ffe3c632Sopenharmony_ci  GPBMethod_FieldNumber_Name = 1,
155ffe3c632Sopenharmony_ci  GPBMethod_FieldNumber_RequestTypeURL = 2,
156ffe3c632Sopenharmony_ci  GPBMethod_FieldNumber_RequestStreaming = 3,
157ffe3c632Sopenharmony_ci  GPBMethod_FieldNumber_ResponseTypeURL = 4,
158ffe3c632Sopenharmony_ci  GPBMethod_FieldNumber_ResponseStreaming = 5,
159ffe3c632Sopenharmony_ci  GPBMethod_FieldNumber_OptionsArray = 6,
160ffe3c632Sopenharmony_ci  GPBMethod_FieldNumber_Syntax = 7,
161ffe3c632Sopenharmony_ci};
162ffe3c632Sopenharmony_ci
163ffe3c632Sopenharmony_ci/**
164ffe3c632Sopenharmony_ci * Method represents a method of an API interface.
165ffe3c632Sopenharmony_ci **/
166ffe3c632Sopenharmony_ciGPB_FINAL @interface GPBMethod : GPBMessage
167ffe3c632Sopenharmony_ci
168ffe3c632Sopenharmony_ci/** The simple name of this method. */
169ffe3c632Sopenharmony_ci@property(nonatomic, readwrite, copy, null_resettable) NSString *name;
170ffe3c632Sopenharmony_ci
171ffe3c632Sopenharmony_ci/** A URL of the input message type. */
172ffe3c632Sopenharmony_ci@property(nonatomic, readwrite, copy, null_resettable) NSString *requestTypeURL;
173ffe3c632Sopenharmony_ci
174ffe3c632Sopenharmony_ci/** If true, the request is streamed. */
175ffe3c632Sopenharmony_ci@property(nonatomic, readwrite) BOOL requestStreaming;
176ffe3c632Sopenharmony_ci
177ffe3c632Sopenharmony_ci/** The URL of the output message type. */
178ffe3c632Sopenharmony_ci@property(nonatomic, readwrite, copy, null_resettable) NSString *responseTypeURL;
179ffe3c632Sopenharmony_ci
180ffe3c632Sopenharmony_ci/** If true, the response is streamed. */
181ffe3c632Sopenharmony_ci@property(nonatomic, readwrite) BOOL responseStreaming;
182ffe3c632Sopenharmony_ci
183ffe3c632Sopenharmony_ci/** Any metadata attached to the method. */
184ffe3c632Sopenharmony_ci@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<GPBOption*> *optionsArray;
185ffe3c632Sopenharmony_ci/** The number of items in @c optionsArray without causing the array to be created. */
186ffe3c632Sopenharmony_ci@property(nonatomic, readonly) NSUInteger optionsArray_Count;
187ffe3c632Sopenharmony_ci
188ffe3c632Sopenharmony_ci/** The source syntax of this method. */
189ffe3c632Sopenharmony_ci@property(nonatomic, readwrite) enum GPBSyntax syntax;
190ffe3c632Sopenharmony_ci
191ffe3c632Sopenharmony_ci@end
192ffe3c632Sopenharmony_ci
193ffe3c632Sopenharmony_ci/**
194ffe3c632Sopenharmony_ci * Fetches the raw value of a @c GPBMethod's @c syntax property, even
195ffe3c632Sopenharmony_ci * if the value was not defined by the enum at the time the code was generated.
196ffe3c632Sopenharmony_ci **/
197ffe3c632Sopenharmony_ciint32_t GPBMethod_Syntax_RawValue(GPBMethod *message);
198ffe3c632Sopenharmony_ci/**
199ffe3c632Sopenharmony_ci * Sets the raw value of an @c GPBMethod's @c syntax property, allowing
200ffe3c632Sopenharmony_ci * it to be set to a value that was not defined by the enum at the time the code
201ffe3c632Sopenharmony_ci * was generated.
202ffe3c632Sopenharmony_ci **/
203ffe3c632Sopenharmony_civoid SetGPBMethod_Syntax_RawValue(GPBMethod *message, int32_t value);
204ffe3c632Sopenharmony_ci
205ffe3c632Sopenharmony_ci#pragma mark - GPBMixin
206ffe3c632Sopenharmony_ci
207ffe3c632Sopenharmony_citypedef GPB_ENUM(GPBMixin_FieldNumber) {
208ffe3c632Sopenharmony_ci  GPBMixin_FieldNumber_Name = 1,
209ffe3c632Sopenharmony_ci  GPBMixin_FieldNumber_Root = 2,
210ffe3c632Sopenharmony_ci};
211ffe3c632Sopenharmony_ci
212ffe3c632Sopenharmony_ci/**
213ffe3c632Sopenharmony_ci * Declares an API Interface to be included in this interface. The including
214ffe3c632Sopenharmony_ci * interface must redeclare all the methods from the included interface, but
215ffe3c632Sopenharmony_ci * documentation and options are inherited as follows:
216ffe3c632Sopenharmony_ci *
217ffe3c632Sopenharmony_ci * - If after comment and whitespace stripping, the documentation
218ffe3c632Sopenharmony_ci *   string of the redeclared method is empty, it will be inherited
219ffe3c632Sopenharmony_ci *   from the original method.
220ffe3c632Sopenharmony_ci *
221ffe3c632Sopenharmony_ci * - Each annotation belonging to the service config (http,
222ffe3c632Sopenharmony_ci *   visibility) which is not set in the redeclared method will be
223ffe3c632Sopenharmony_ci *   inherited.
224ffe3c632Sopenharmony_ci *
225ffe3c632Sopenharmony_ci * - If an http annotation is inherited, the path pattern will be
226ffe3c632Sopenharmony_ci *   modified as follows. Any version prefix will be replaced by the
227ffe3c632Sopenharmony_ci *   version of the including interface plus the [root][] path if
228ffe3c632Sopenharmony_ci *   specified.
229ffe3c632Sopenharmony_ci *
230ffe3c632Sopenharmony_ci * Example of a simple mixin:
231ffe3c632Sopenharmony_ci *
232ffe3c632Sopenharmony_ci *     package google.acl.v1;
233ffe3c632Sopenharmony_ci *     service AccessControl {
234ffe3c632Sopenharmony_ci *       // Get the underlying ACL object.
235ffe3c632Sopenharmony_ci *       rpc GetAcl(GetAclRequest) returns (Acl) {
236ffe3c632Sopenharmony_ci *         option (google.api.http).get = "/v1/{resource=**}:getAcl";
237ffe3c632Sopenharmony_ci *       }
238ffe3c632Sopenharmony_ci *     }
239ffe3c632Sopenharmony_ci *
240ffe3c632Sopenharmony_ci *     package google.storage.v2;
241ffe3c632Sopenharmony_ci *     service Storage {
242ffe3c632Sopenharmony_ci *       rpc GetAcl(GetAclRequest) returns (Acl);
243ffe3c632Sopenharmony_ci *
244ffe3c632Sopenharmony_ci *       // Get a data record.
245ffe3c632Sopenharmony_ci *       rpc GetData(GetDataRequest) returns (Data) {
246ffe3c632Sopenharmony_ci *         option (google.api.http).get = "/v2/{resource=**}";
247ffe3c632Sopenharmony_ci *       }
248ffe3c632Sopenharmony_ci *     }
249ffe3c632Sopenharmony_ci *
250ffe3c632Sopenharmony_ci * Example of a mixin configuration:
251ffe3c632Sopenharmony_ci *
252ffe3c632Sopenharmony_ci *     apis:
253ffe3c632Sopenharmony_ci *     - name: google.storage.v2.Storage
254ffe3c632Sopenharmony_ci *       mixins:
255ffe3c632Sopenharmony_ci *       - name: google.acl.v1.AccessControl
256ffe3c632Sopenharmony_ci *
257ffe3c632Sopenharmony_ci * The mixin construct implies that all methods in `AccessControl` are
258ffe3c632Sopenharmony_ci * also declared with same name and request/response types in
259ffe3c632Sopenharmony_ci * `Storage`. A documentation generator or annotation processor will
260ffe3c632Sopenharmony_ci * see the effective `Storage.GetAcl` method after inherting
261ffe3c632Sopenharmony_ci * documentation and annotations as follows:
262ffe3c632Sopenharmony_ci *
263ffe3c632Sopenharmony_ci *     service Storage {
264ffe3c632Sopenharmony_ci *       // Get the underlying ACL object.
265ffe3c632Sopenharmony_ci *       rpc GetAcl(GetAclRequest) returns (Acl) {
266ffe3c632Sopenharmony_ci *         option (google.api.http).get = "/v2/{resource=**}:getAcl";
267ffe3c632Sopenharmony_ci *       }
268ffe3c632Sopenharmony_ci *       ...
269ffe3c632Sopenharmony_ci *     }
270ffe3c632Sopenharmony_ci *
271ffe3c632Sopenharmony_ci * Note how the version in the path pattern changed from `v1` to `v2`.
272ffe3c632Sopenharmony_ci *
273ffe3c632Sopenharmony_ci * If the `root` field in the mixin is specified, it should be a
274ffe3c632Sopenharmony_ci * relative path under which inherited HTTP paths are placed. Example:
275ffe3c632Sopenharmony_ci *
276ffe3c632Sopenharmony_ci *     apis:
277ffe3c632Sopenharmony_ci *     - name: google.storage.v2.Storage
278ffe3c632Sopenharmony_ci *       mixins:
279ffe3c632Sopenharmony_ci *       - name: google.acl.v1.AccessControl
280ffe3c632Sopenharmony_ci *         root: acls
281ffe3c632Sopenharmony_ci *
282ffe3c632Sopenharmony_ci * This implies the following inherited HTTP annotation:
283ffe3c632Sopenharmony_ci *
284ffe3c632Sopenharmony_ci *     service Storage {
285ffe3c632Sopenharmony_ci *       // Get the underlying ACL object.
286ffe3c632Sopenharmony_ci *       rpc GetAcl(GetAclRequest) returns (Acl) {
287ffe3c632Sopenharmony_ci *         option (google.api.http).get = "/v2/acls/{resource=**}:getAcl";
288ffe3c632Sopenharmony_ci *       }
289ffe3c632Sopenharmony_ci *       ...
290ffe3c632Sopenharmony_ci *     }
291ffe3c632Sopenharmony_ci **/
292ffe3c632Sopenharmony_ciGPB_FINAL @interface GPBMixin : GPBMessage
293ffe3c632Sopenharmony_ci
294ffe3c632Sopenharmony_ci/** The fully qualified name of the interface which is included. */
295ffe3c632Sopenharmony_ci@property(nonatomic, readwrite, copy, null_resettable) NSString *name;
296ffe3c632Sopenharmony_ci
297ffe3c632Sopenharmony_ci/**
298ffe3c632Sopenharmony_ci * If non-empty specifies a path under which inherited HTTP paths
299ffe3c632Sopenharmony_ci * are rooted.
300ffe3c632Sopenharmony_ci **/
301ffe3c632Sopenharmony_ci@property(nonatomic, readwrite, copy, null_resettable) NSString *root;
302ffe3c632Sopenharmony_ci
303ffe3c632Sopenharmony_ci@end
304ffe3c632Sopenharmony_ci
305ffe3c632Sopenharmony_ciNS_ASSUME_NONNULL_END
306ffe3c632Sopenharmony_ci
307ffe3c632Sopenharmony_ciCF_EXTERN_C_END
308ffe3c632Sopenharmony_ci
309ffe3c632Sopenharmony_ci#pragma clang diagnostic pop
310ffe3c632Sopenharmony_ci
311ffe3c632Sopenharmony_ci// @@protoc_insertion_point(global_scope)
312