1 | /* |
2 | * |
3 | * Copyright 2015 gRPC authors. |
4 | * |
5 | * Licensed under the Apache License, Version 2.0 (the "License"); |
6 | * you may not use this file except in compliance with the License. |
7 | * You may obtain a copy of the License at |
8 | * |
9 | * http://www.apache.org/licenses/LICENSE-2.0 |
10 | * |
11 | * Unless required by applicable law or agreed to in writing, software |
12 | * distributed under the License is distributed on an "AS IS" BASIS, |
13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
14 | * See the License for the specific language governing permissions and |
15 | * limitations under the License. |
16 | * |
17 | */ |
18 | |
19 | #ifndef GRPC_INTERNAL_COMPILER_OBJECTIVE_C_GENERATOR_H |
20 | #define GRPC_INTERNAL_COMPILER_OBJECTIVE_C_GENERATOR_H |
21 | |
22 | #include "src/compiler/config.h" |
23 | |
24 | namespace grpc_objective_c_generator { |
25 | |
26 | struct Parameters { |
27 | // Do not generate V1 interface and implementation |
28 | bool no_v1_compatibility; |
29 | }; |
30 | |
31 | using ::grpc::protobuf::FileDescriptor; |
32 | using ::grpc::protobuf::FileDescriptor; |
33 | using ::grpc::protobuf::ServiceDescriptor; |
34 | using ::grpc::string; |
35 | |
36 | // Returns forward declaration of classes in the generated header file. |
37 | string GetAllMessageClasses(const FileDescriptor* file); |
38 | |
39 | // Returns the content to be included defining the @protocol segment at the |
40 | // insertion point of the generated implementation file. This interface is |
41 | // legacy and for backwards compatibility. |
42 | string GetProtocol(const ServiceDescriptor* service, |
43 | const Parameters& generator_params); |
44 | |
45 | // Returns the content to be included defining the @protocol segment at the |
46 | // insertion point of the generated implementation file. |
47 | string GetV2Protocol(const ServiceDescriptor* service); |
48 | |
49 | // Returns the content to be included defining the @interface segment at the |
50 | // insertion point of the generated implementation file. |
51 | string GetInterface(const ServiceDescriptor* service, |
52 | const Parameters& generator_params); |
53 | |
54 | // Returns the content to be included in the "global_scope" insertion point of |
55 | // the generated implementation file. |
56 | string GetSource(const ServiceDescriptor* service, |
57 | const Parameters& generator_params); |
58 | |
59 | } // namespace grpc_objective_c_generator |
60 | |
61 | #endif // GRPC_INTERNAL_COMPILER_OBJECTIVE_C_GENERATOR_H |
62 | |