xref: /aosp_15_r20/external/grpc-grpc/src/objective-c/ProtoRPC/ProtoRPCLegacy.h (revision cc02d7e222339f7a4f6ba5f422e6413f4bd931f2)
1 /*
2  *
3  * Copyright 2019 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 #import <GRPCClient/GRPCCallLegacy.h>
20 
21 // Import category headers for Swift build
22 #import <GRPCClient/GRPCCall+ChannelArg.h>
23 #import <GRPCClient/GRPCCall+ChannelCredentials.h>
24 #import <GRPCClient/GRPCCall+Cronet.h>
25 #import <GRPCClient/GRPCCall+OAuth2.h>
26 #import <GRPCClient/GRPCCall+Tests.h>
27 #import <RxLibrary/GRXWriteable.h>
28 
29 @class GRPCProtoMethod;
30 @class GRXWriter;
31 @protocol GRXWriteable;
32 
33 __attribute__((deprecated("Please use GRPCProtoCall.")))
34 @interface ProtoRPC : GRPCCall
35 
36 /**
37  * host parameter should not contain the scheme (http:// or https://), only the name or IP
38  * addr and the port number, for example @"localhost:5050".
39  */
40 - (instancetype)initWithHost:(NSString *)host
41                       method:(GRPCProtoMethod *)method
42               requestsWriter:(GRXWriter *)requestsWriter
43                responseClass:(Class)responseClass
44           responsesWriteable:(id<GRXWriteable>)responsesWriteable NS_DESIGNATED_INITIALIZER;
45 
46 - (void)start;
47 
48 @end
49 
50 /**
51  * This subclass is empty now. Eventually we'll remove ProtoRPC class
52  * to avoid potential naming conflict
53  */
54 #pragma clang diagnostic push
55 #pragma clang diagnostic ignored "-Wdeprecated-declarations"
56 @interface GRPCProtoCall : ProtoRPC
57 #pragma clang diagnostic pop
58 
59 @end
60 
61 /**
62  * Generate an NSError object that represents a failure in parsing a proto class. For gRPC
63  * internal use only.
64  */
65 NSError *ErrorForBadProto(id proto, Class expectedClass, NSError *parsingError);
66