xref: /aosp_15_r20/external/grpc-grpc/src/objective-c/ProtoRPC/ProtoMethod.h (revision cc02d7e222339f7a4f6ba5f422e6413f4bd931f2)
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 /**
22  * A fully-qualified proto service method name. Full qualification is needed because a gRPC endpoint
23  * can implement multiple services.
24  */
25 __attribute__((deprecated("Please use GRPCProtoMethod.")))
26 @interface ProtoMethod : NSObject
27 @property(nonatomic, readonly) NSString *package;
28 @property(nonatomic, readonly) NSString *service;
29 @property(nonatomic, readonly) NSString *method;
30 
31 @property(nonatomic, readonly) NSString *HTTPPath;
32 
33 - (instancetype)initWithPackage:(NSString *)package
34                         service:(NSString *)service
35                          method:(NSString *)method;
36 @end
37 
38 /**
39  * This subclass is empty now. Eventually we'll remove ProtoMethod class
40  * to avoid potential naming conflict
41  */
42 #pragma clang diagnostic push
43 #pragma clang diagnostic ignored "-Wdeprecated-declarations"
44 @interface GRPCProtoMethod : ProtoMethod
45 #pragma clang diagnostic pop
46 
47 @end
48