xref: /aosp_15_r20/external/grpc-grpc/src/objective-c/ProtoRPC/ProtoService.h (revision cc02d7e222339f7a4f6ba5f422e6413f4bd931f2)
1*cc02d7e2SAndroid Build Coastguard Worker /*
2*cc02d7e2SAndroid Build Coastguard Worker  *
3*cc02d7e2SAndroid Build Coastguard Worker  * Copyright 2015 gRPC authors.
4*cc02d7e2SAndroid Build Coastguard Worker  *
5*cc02d7e2SAndroid Build Coastguard Worker  * Licensed under the Apache License, Version 2.0 (the "License");
6*cc02d7e2SAndroid Build Coastguard Worker  * you may not use this file except in compliance with the License.
7*cc02d7e2SAndroid Build Coastguard Worker  * You may obtain a copy of the License at
8*cc02d7e2SAndroid Build Coastguard Worker  *
9*cc02d7e2SAndroid Build Coastguard Worker  *     http://www.apache.org/licenses/LICENSE-2.0
10*cc02d7e2SAndroid Build Coastguard Worker  *
11*cc02d7e2SAndroid Build Coastguard Worker  * Unless required by applicable law or agreed to in writing, software
12*cc02d7e2SAndroid Build Coastguard Worker  * distributed under the License is distributed on an "AS IS" BASIS,
13*cc02d7e2SAndroid Build Coastguard Worker  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14*cc02d7e2SAndroid Build Coastguard Worker  * See the License for the specific language governing permissions and
15*cc02d7e2SAndroid Build Coastguard Worker  * limitations under the License.
16*cc02d7e2SAndroid Build Coastguard Worker  *
17*cc02d7e2SAndroid Build Coastguard Worker  */
18*cc02d7e2SAndroid Build Coastguard Worker 
19*cc02d7e2SAndroid Build Coastguard Worker #import <Foundation/Foundation.h>
20*cc02d7e2SAndroid Build Coastguard Worker 
21*cc02d7e2SAndroid Build Coastguard Worker #import <GRPCClient/GRPCCallOptions.h>
22*cc02d7e2SAndroid Build Coastguard Worker #import "ProtoRPC.h"
23*cc02d7e2SAndroid Build Coastguard Worker 
24*cc02d7e2SAndroid Build Coastguard Worker @protocol GRXWriteable;
25*cc02d7e2SAndroid Build Coastguard Worker @class GRXWriter;
26*cc02d7e2SAndroid Build Coastguard Worker @class GRPCCallOptions;
27*cc02d7e2SAndroid Build Coastguard Worker 
28*cc02d7e2SAndroid Build Coastguard Worker #pragma clang diagnostic push
29*cc02d7e2SAndroid Build Coastguard Worker #pragma clang diagnostic ignored "-Wnullability-completeness"
30*cc02d7e2SAndroid Build Coastguard Worker 
31*cc02d7e2SAndroid Build Coastguard Worker __attribute__((deprecated("Please use GRPCProtoService.")))
32*cc02d7e2SAndroid Build Coastguard Worker @interface ProtoService : NSObject
33*cc02d7e2SAndroid Build Coastguard Worker 
34*cc02d7e2SAndroid Build Coastguard Worker - (nullable instancetype)initWithHost:(nonnull NSString *)host
35*cc02d7e2SAndroid Build Coastguard Worker                           packageName:(nonnull NSString *)packageName
36*cc02d7e2SAndroid Build Coastguard Worker                           serviceName:(nonnull NSString *)serviceName
37*cc02d7e2SAndroid Build Coastguard Worker                           callOptions:(nullable GRPCCallOptions *)callOptions
38*cc02d7e2SAndroid Build Coastguard Worker     NS_DESIGNATED_INITIALIZER;
39*cc02d7e2SAndroid Build Coastguard Worker 
40*cc02d7e2SAndroid Build Coastguard Worker - (nullable GRPCUnaryProtoCall *)RPCToMethod:(nonnull NSString *)method
41*cc02d7e2SAndroid Build Coastguard Worker                                      message:(nonnull id)message
42*cc02d7e2SAndroid Build Coastguard Worker                              responseHandler:(nonnull id<GRPCProtoResponseHandler>)handler
43*cc02d7e2SAndroid Build Coastguard Worker                                  callOptions:(nullable GRPCCallOptions *)callOptions
44*cc02d7e2SAndroid Build Coastguard Worker                                responseClass:(nonnull Class)responseClass;
45*cc02d7e2SAndroid Build Coastguard Worker 
46*cc02d7e2SAndroid Build Coastguard Worker - (nullable GRPCStreamingProtoCall *)RPCToMethod:(nonnull NSString *)method
47*cc02d7e2SAndroid Build Coastguard Worker                                  responseHandler:(nonnull id<GRPCProtoResponseHandler>)handler
48*cc02d7e2SAndroid Build Coastguard Worker                                      callOptions:(nullable GRPCCallOptions *)callOptions
49*cc02d7e2SAndroid Build Coastguard Worker                                    responseClass:(nonnull Class)responseClass;
50*cc02d7e2SAndroid Build Coastguard Worker 
51*cc02d7e2SAndroid Build Coastguard Worker @end
52*cc02d7e2SAndroid Build Coastguard Worker 
53*cc02d7e2SAndroid Build Coastguard Worker @interface ProtoService (Legacy)
54*cc02d7e2SAndroid Build Coastguard Worker 
55*cc02d7e2SAndroid Build Coastguard Worker - (instancetype)initWithHost:(NSString *)host
56*cc02d7e2SAndroid Build Coastguard Worker                  packageName:(NSString *)packageName
57*cc02d7e2SAndroid Build Coastguard Worker                  serviceName:(NSString *)serviceName;
58*cc02d7e2SAndroid Build Coastguard Worker 
59*cc02d7e2SAndroid Build Coastguard Worker - (GRPCProtoCall *)RPCToMethod:(NSString *)method
60*cc02d7e2SAndroid Build Coastguard Worker                 requestsWriter:(GRXWriter *)requestsWriter
61*cc02d7e2SAndroid Build Coastguard Worker                  responseClass:(Class)responseClass
62*cc02d7e2SAndroid Build Coastguard Worker             responsesWriteable:(id<GRXWriteable>)responsesWriteable;
63*cc02d7e2SAndroid Build Coastguard Worker 
64*cc02d7e2SAndroid Build Coastguard Worker @end
65*cc02d7e2SAndroid Build Coastguard Worker 
66*cc02d7e2SAndroid Build Coastguard Worker #pragma clang diagnostic pop
67*cc02d7e2SAndroid Build Coastguard Worker 
68*cc02d7e2SAndroid Build Coastguard Worker /**
69*cc02d7e2SAndroid Build Coastguard Worker  * This subclass is empty now. Eventually we'll remove ProtoService class
70*cc02d7e2SAndroid Build Coastguard Worker  * to avoid potential naming conflict
71*cc02d7e2SAndroid Build Coastguard Worker  */
72*cc02d7e2SAndroid Build Coastguard Worker #pragma clang diagnostic push
73*cc02d7e2SAndroid Build Coastguard Worker #pragma clang diagnostic ignored "-Wdeprecated-declarations"
74*cc02d7e2SAndroid Build Coastguard Worker @interface GRPCProtoService : ProtoService
75*cc02d7e2SAndroid Build Coastguard Worker #pragma clang diagnostic pop
76*cc02d7e2SAndroid Build Coastguard Worker 
77*cc02d7e2SAndroid Build Coastguard Worker @end
78