• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 #import <Foundation/Foundation.h>
20 
21 #import <GRPCClient/GRPCCallOptions.h>
22 #import "ProtoRPC.h"
23 
24 @protocol GRXWriteable;
25 @class GRXWriter;
26 @class GRPCCallOptions;
27 
28 #pragma clang diagnostic push
29 #pragma clang diagnostic ignored "-Wnullability-completeness"
30 
31 __attribute__((deprecated("Please use GRPCProtoService."))) @interface ProtoService : NSObject
32 
33 - (nullable instancetype)initWithHost:(nonnull NSString *)host
34                           packageName:(nonnull NSString *)packageName
35                           serviceName:(nonnull NSString *)serviceName
36                           callOptions:(nullable GRPCCallOptions *)callOptions
37     NS_DESIGNATED_INITIALIZER;
38 
39 - (nullable GRPCUnaryProtoCall *)RPCToMethod:(nonnull NSString *)method
40                                      message:(nonnull id)message
41                              responseHandler:(nonnull id<GRPCProtoResponseHandler>)handler
42                                  callOptions:(nullable GRPCCallOptions *)callOptions
43                                responseClass:(nonnull Class)responseClass;
44 
45 - (nullable GRPCStreamingProtoCall *)RPCToMethod:(nonnull NSString *)method
46                                  responseHandler:(nonnull id<GRPCProtoResponseHandler>)handler
47                                      callOptions:(nullable GRPCCallOptions *)callOptions
48                                    responseClass:(nonnull Class)responseClass;
49 
50 @end
51 
52 @interface ProtoService (Legacy)
53 
54 - (instancetype)initWithHost:(NSString *)host
55                  packageName:(NSString *)packageName
56                  serviceName:(NSString *)serviceName;
57 
58 - (GRPCProtoCall *)RPCToMethod:(NSString *)method
59                 requestsWriter:(GRXWriter *)requestsWriter
60                  responseClass:(Class)responseClass
61             responsesWriteable:(id<GRXWriteable>)responsesWriteable;
62 
63 @end
64 
65 #pragma clang diagnostic pop
66 
67 /**
68  * This subclass is empty now. Eventually we'll remove ProtoService class
69  * to avoid potential naming conflict
70  */
71 #pragma clang diagnostic push
72 #pragma clang diagnostic ignored "-Wdeprecated-declarations"
73 @interface GRPCProtoService : ProtoService
74 #pragma clang diagnostic pop
75 
76 @end
77