diff options
Diffstat (limited to 'Firestore/Protos/objc/google/api/HTTP.pbobjc.h')
-rw-r--r-- | Firestore/Protos/objc/google/api/HTTP.pbobjc.h | 406 |
1 files changed, 406 insertions, 0 deletions
diff --git a/Firestore/Protos/objc/google/api/HTTP.pbobjc.h b/Firestore/Protos/objc/google/api/HTTP.pbobjc.h new file mode 100644 index 0000000..9cc00dc --- /dev/null +++ b/Firestore/Protos/objc/google/api/HTTP.pbobjc.h @@ -0,0 +1,406 @@ +/* + * Copyright 2017 Google + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/api/http.proto + +// This CPP symbol can be defined to use imports that match up to the framework +// imports needed when using CocoaPods. +#if !defined(GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS) + #define GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS 0 +#endif + +#if GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS + #import <Protobuf/GPBProtocolBuffers.h> +#else + #import "GPBProtocolBuffers.h" +#endif + +#if GOOGLE_PROTOBUF_OBJC_VERSION < 30002 +#error This file was generated by a newer version of protoc which is incompatible with your Protocol Buffer library sources. +#endif +#if 30002 < GOOGLE_PROTOBUF_OBJC_MIN_SUPPORTED_VERSION +#error This file was generated by an older version of protoc which is incompatible with your Protocol Buffer library sources. +#endif + +// @@protoc_insertion_point(imports) + +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + +CF_EXTERN_C_BEGIN + +@class GAPICustomHttpPattern; +@class GAPIHttpRule; + +NS_ASSUME_NONNULL_BEGIN + +#pragma mark - GAPIHTTPRoot + +/** + * Exposes the extension registry for this file. + * + * The base class provides: + * @code + * + (GPBExtensionRegistry *)extensionRegistry; + * @endcode + * which is a @c GPBExtensionRegistry that includes all the extensions defined by + * this file and all files that it depends on. + **/ +@interface GAPIHTTPRoot : GPBRootObject +@end + +#pragma mark - GAPIHttp + +typedef GPB_ENUM(GAPIHttp_FieldNumber) { + GAPIHttp_FieldNumber_RulesArray = 1, +}; + +/** + * Defines the HTTP configuration for a service. It contains a list of + * [HttpRule][google.api.HttpRule], each specifying the mapping of an RPC method + * to one or more HTTP REST API methods. + **/ +@interface GAPIHttp : GPBMessage + +/** + * A list of HTTP configuration rules that apply to individual API methods. + * + * **NOTE:** All service configuration rules follow "last one wins" order. + **/ +@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<GAPIHttpRule*> *rulesArray; +/** The number of items in @c rulesArray without causing the array to be created. */ +@property(nonatomic, readonly) NSUInteger rulesArray_Count; + +@end + +#pragma mark - GAPIHttpRule + +typedef GPB_ENUM(GAPIHttpRule_FieldNumber) { + GAPIHttpRule_FieldNumber_Selector = 1, + GAPIHttpRule_FieldNumber_Get = 2, + GAPIHttpRule_FieldNumber_Put = 3, + GAPIHttpRule_FieldNumber_Post = 4, + GAPIHttpRule_FieldNumber_Delete_p = 5, + GAPIHttpRule_FieldNumber_Patch = 6, + GAPIHttpRule_FieldNumber_Body = 7, + GAPIHttpRule_FieldNumber_Custom = 8, + GAPIHttpRule_FieldNumber_AdditionalBindingsArray = 11, +}; + +typedef GPB_ENUM(GAPIHttpRule_Pattern_OneOfCase) { + GAPIHttpRule_Pattern_OneOfCase_GPBUnsetOneOfCase = 0, + GAPIHttpRule_Pattern_OneOfCase_Get = 2, + GAPIHttpRule_Pattern_OneOfCase_Put = 3, + GAPIHttpRule_Pattern_OneOfCase_Post = 4, + GAPIHttpRule_Pattern_OneOfCase_Delete_p = 5, + GAPIHttpRule_Pattern_OneOfCase_Patch = 6, + GAPIHttpRule_Pattern_OneOfCase_Custom = 8, +}; + +/** + * `HttpRule` defines the mapping of an RPC method to one or more HTTP + * REST APIs. The mapping determines what portions of the request + * message are populated from the path, query parameters, or body of + * the HTTP request. The mapping is typically specified as an + * `google.api.http` annotation, see "google/api/annotations.proto" + * for details. + * + * The mapping consists of a field specifying the path template and + * method kind. The path template can refer to fields in the request + * message, as in the example below which describes a REST GET + * operation on a resource collection of messages: + * + * + * service Messaging { + * rpc GetMessage(GetMessageRequest) returns (Message) { + * option (google.api.http).get = "/v1/messages/{message_id}/{sub.subfield}"; + * } + * } + * message GetMessageRequest { + * message SubMessage { + * string subfield = 1; + * } + * string message_id = 1; // mapped to the URL + * SubMessage sub = 2; // `sub.subfield` is url-mapped + * } + * message Message { + * string text = 1; // content of the resource + * } + * + * The same http annotation can alternatively be expressed inside the + * `GRPC API Configuration` YAML file. + * + * http: + * rules: + * - selector: <proto_package_name>.Messaging.GetMessage + * get: /v1/messages/{message_id}/{sub.subfield} + * + * This definition enables an automatic, bidrectional mapping of HTTP + * JSON to RPC. Example: + * + * HTTP | RPC + * -----|----- + * `GET /v1/messages/123456/foo` | `GetMessage(message_id: "123456" sub: SubMessage(subfield: "foo"))` + * + * In general, not only fields but also field paths can be referenced + * from a path pattern. Fields mapped to the path pattern cannot be + * repeated and must have a primitive (non-message) type. + * + * Any fields in the request message which are not bound by the path + * pattern automatically become (optional) HTTP query + * parameters. Assume the following definition of the request message: + * + * + * message GetMessageRequest { + * message SubMessage { + * string subfield = 1; + * } + * string message_id = 1; // mapped to the URL + * int64 revision = 2; // becomes a parameter + * SubMessage sub = 3; // `sub.subfield` becomes a parameter + * } + * + * + * This enables a HTTP JSON to RPC mapping as below: + * + * HTTP | RPC + * -----|----- + * `GET /v1/messages/123456?revision=2&sub.subfield=foo` | `GetMessage(message_id: "123456" revision: 2 sub: SubMessage(subfield: "foo"))` + * + * Note that fields which are mapped to HTTP parameters must have a + * primitive type or a repeated primitive type. Message types are not + * allowed. In the case of a repeated type, the parameter can be + * repeated in the URL, as in `...?param=A¶m=B`. + * + * For HTTP method kinds which allow a request body, the `body` field + * specifies the mapping. Consider a REST update method on the + * message resource collection: + * + * + * service Messaging { + * rpc UpdateMessage(UpdateMessageRequest) returns (Message) { + * option (google.api.http) = { + * put: "/v1/messages/{message_id}" + * body: "message" + * }; + * } + * } + * message UpdateMessageRequest { + * string message_id = 1; // mapped to the URL + * Message message = 2; // mapped to the body + * } + * + * + * The following HTTP JSON to RPC mapping is enabled, where the + * representation of the JSON in the request body is determined by + * protos JSON encoding: + * + * HTTP | RPC + * -----|----- + * `PUT /v1/messages/123456 { "text": "Hi!" }` | `UpdateMessage(message_id: "123456" message { text: "Hi!" })` + * + * The special name `*` can be used in the body mapping to define that + * every field not bound by the path template should be mapped to the + * request body. This enables the following alternative definition of + * the update method: + * + * service Messaging { + * rpc UpdateMessage(Message) returns (Message) { + * option (google.api.http) = { + * put: "/v1/messages/{message_id}" + * body: "*" + * }; + * } + * } + * message Message { + * string message_id = 1; + * string text = 2; + * } + * + * + * The following HTTP JSON to RPC mapping is enabled: + * + * HTTP | RPC + * -----|----- + * `PUT /v1/messages/123456 { "text": "Hi!" }` | `UpdateMessage(message_id: "123456" text: "Hi!")` + * + * Note that when using `*` in the body mapping, it is not possible to + * have HTTP parameters, as all fields not bound by the path end in + * the body. This makes this option more rarely used in practice of + * defining REST APIs. The common usage of `*` is in custom methods + * which don't use the URL at all for transferring data. + * + * It is possible to define multiple HTTP methods for one RPC by using + * the `additional_bindings` option. Example: + * + * service Messaging { + * rpc GetMessage(GetMessageRequest) returns (Message) { + * option (google.api.http) = { + * get: "/v1/messages/{message_id}" + * additional_bindings { + * get: "/v1/users/{user_id}/messages/{message_id}" + * } + * }; + * } + * } + * message GetMessageRequest { + * string message_id = 1; + * string user_id = 2; + * } + * + * + * This enables the following two alternative HTTP JSON to RPC + * mappings: + * + * HTTP | RPC + * -----|----- + * `GET /v1/messages/123456` | `GetMessage(message_id: "123456")` + * `GET /v1/users/me/messages/123456` | `GetMessage(user_id: "me" message_id: "123456")` + * + * # Rules for HTTP mapping + * + * The rules for mapping HTTP path, query parameters, and body fields + * to the request message are as follows: + * + * 1. The `body` field specifies either `*` or a field path, or is + * omitted. If omitted, it assumes there is no HTTP body. + * 2. Leaf fields (recursive expansion of nested messages in the + * request) can be classified into three types: + * (a) Matched in the URL template. + * (b) Covered by body (if body is `*`, everything except (a) fields; + * else everything under the body field) + * (c) All other fields. + * 3. URL query parameters found in the HTTP request are mapped to (c) fields. + * 4. Any body sent with an HTTP request can contain only (b) fields. + * + * The syntax of the path template is as follows: + * + * Template = "/" Segments [ Verb ] ; + * Segments = Segment { "/" Segment } ; + * Segment = "*" | "**" | LITERAL | Variable ; + * Variable = "{" FieldPath [ "=" Segments ] "}" ; + * FieldPath = IDENT { "." IDENT } ; + * Verb = ":" LITERAL ; + * + * The syntax `*` matches a single path segment. It follows the semantics of + * [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 Simple String + * Expansion. + * + * The syntax `**` matches zero or more path segments. It follows the semantics + * of [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.3 Reserved + * Expansion. NOTE: it must be the last segment in the path except the Verb. + * + * The syntax `LITERAL` matches literal text in the URL path. + * + * The syntax `Variable` matches the entire path as specified by its template; + * this nested template must not contain further variables. If a variable + * matches a single path segment, its template may be omitted, e.g. `{var}` + * is equivalent to `{var=*}`. + * + * NOTE: the field paths in variables and in the `body` must not refer to + * repeated fields or map fields. + * + * Use CustomHttpPattern to specify any HTTP method that is not included in the + * `pattern` field, such as HEAD, or "*" to leave the HTTP method unspecified for + * a given URL path rule. The wild-card rule is useful for services that provide + * content to Web (HTML) clients. + **/ +@interface GAPIHttpRule : GPBMessage + +/** + * Selects methods to which this rule applies. + * + * Refer to [selector][google.api.DocumentationRule.selector] for syntax details. + **/ +@property(nonatomic, readwrite, copy, null_resettable) NSString *selector; + +/** + * Determines the URL pattern is matched by this rules. This pattern can be + * used with any of the {get|put|post|delete|patch} methods. A custom method + * can be defined using the 'custom' field. + **/ +@property(nonatomic, readonly) GAPIHttpRule_Pattern_OneOfCase patternOneOfCase; + +/** Used for listing and getting information about resources. */ +@property(nonatomic, readwrite, copy, null_resettable) NSString *get; + +/** Used for updating a resource. */ +@property(nonatomic, readwrite, copy, null_resettable) NSString *put; + +/** Used for creating a resource. */ +@property(nonatomic, readwrite, copy, null_resettable) NSString *post; + +/** Used for deleting a resource. */ +@property(nonatomic, readwrite, copy, null_resettable) NSString *delete_p; + +/** Used for updating a resource. */ +@property(nonatomic, readwrite, copy, null_resettable) NSString *patch; + +/** Custom pattern is used for defining custom verbs. */ +@property(nonatomic, readwrite, strong, null_resettable) GAPICustomHttpPattern *custom; + +/** + * The name of the request field whose value is mapped to the HTTP body, or + * `*` for mapping all fields not captured by the path pattern to the HTTP + * body. NOTE: the referred field must not be a repeated field and must be + * present at the top-level of request message type. + **/ +@property(nonatomic, readwrite, copy, null_resettable) NSString *body; + +/** + * Additional HTTP bindings for the selector. Nested bindings must + * not contain an `additional_bindings` field themselves (that is, + * the nesting may only be one level deep). + **/ +@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<GAPIHttpRule*> *additionalBindingsArray; +/** The number of items in @c additionalBindingsArray without causing the array to be created. */ +@property(nonatomic, readonly) NSUInteger additionalBindingsArray_Count; + +@end + +/** + * Clears whatever value was set for the oneof 'pattern'. + **/ +void GAPIHttpRule_ClearPatternOneOfCase(GAPIHttpRule *message); + +#pragma mark - GAPICustomHttpPattern + +typedef GPB_ENUM(GAPICustomHttpPattern_FieldNumber) { + GAPICustomHttpPattern_FieldNumber_Kind = 1, + GAPICustomHttpPattern_FieldNumber_Path = 2, +}; + +/** + * A custom pattern is used for defining custom HTTP verb. + **/ +@interface GAPICustomHttpPattern : GPBMessage + +/** The name of this custom HTTP verb. */ +@property(nonatomic, readwrite, copy, null_resettable) NSString *kind; + +/** The path matched by this custom verb. */ +@property(nonatomic, readwrite, copy, null_resettable) NSString *path; + +@end + +NS_ASSUME_NONNULL_END + +CF_EXTERN_C_END + +#pragma clang diagnostic pop + +// @@protoc_insertion_point(global_scope) |