| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 | 
							- /*
 
-  *
 
-  * Copyright 2015 gRPC authors.
 
-  *
 
-  * Licensed under the Apache License, Version 2.0 (the "License");
 
-  * you may not use this file except in compliance with the License.
 
-  * You may obtain a copy of the License at
 
-  *
 
-  *     http://www.apache.org/licenses/LICENSE-2.0
 
-  *
 
-  * Unless required by applicable law or agreed to in writing, software
 
-  * distributed under the License is distributed on an "AS IS" BASIS,
 
-  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 
-  * See the License for the specific language governing permissions and
 
-  * limitations under the License.
 
-  *
 
-  */
 
- #ifndef GRPCXX_IMPL_CODEGEN_RPC_METHOD_H
 
- #define GRPCXX_IMPL_CODEGEN_RPC_METHOD_H
 
- #include <memory>
 
- #include <grpc++/impl/codegen/channel_interface.h>
 
- namespace grpc {
 
- /// Descriptor of an RPC method
 
- class RpcMethod {
 
-  public:
 
-   enum RpcType {
 
-     NORMAL_RPC = 0,
 
-     CLIENT_STREAMING,  // request streaming
 
-     SERVER_STREAMING,  // response streaming
 
-     BIDI_STREAMING
 
-   };
 
-   RpcMethod(const char* name, RpcType type)
 
-       : name_(name), method_type_(type), channel_tag_(NULL) {}
 
-   RpcMethod(const char* name, RpcType type,
 
-             const std::shared_ptr<ChannelInterface>& channel)
 
-       : name_(name),
 
-         method_type_(type),
 
-         channel_tag_(channel->RegisterMethod(name)) {}
 
-   const char* name() const { return name_; }
 
-   RpcType method_type() const { return method_type_; }
 
-   void SetMethodType(RpcType type) { method_type_ = type; }
 
-   void* channel_tag() const { return channel_tag_; }
 
-  private:
 
-   const char* const name_;
 
-   RpcType method_type_;
 
-   void* const channel_tag_;
 
- };
 
- }  // namespace grpc
 
- #endif  // GRPCXX_IMPL_CODEGEN_RPC_METHOD_H
 
 
  |